Remove direct dependency on commons-build

Enhance website

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@385373 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stephen Colebourne 2006-03-12 21:54:04 +00:00
parent 80dbd1dab0
commit bc5f6f6954
11 changed files with 1133 additions and 137 deletions

View File

@ -16,23 +16,6 @@ limitations under the License.
<project default="java:jar" <project default="java:jar"
xmlns:j="jelly:core"> xmlns:j="jelly:core">
<!-- ================================================================== -->
<!-- START : C O M M O N S - B U I L D -->
<!-- ================================================================== -->
<!-- Required: Look and Feel for documentation within distributions -->
<!-- ================================================================== -->
<postGoal name="xdoc:copy-resources">
<copy todir="${basedir}/target/docs/style/" failonerror="false">
<fileset dir="${basedir}/../commons-build/xdocs/style">
<include name='**/*'/>
<exclude name='**/CVS/**'/>
</fileset>
</copy>
</postGoal>
<!-- ================================================================== -->
<!-- END: C O M M O N S - B U I L D -->
<!-- ================================================================== -->
<!-- need various bits in the src build. Binary build is handled by Ant --> <!-- need various bits in the src build. Binary build is handled by Ant -->
<postGoal name="dist:prepare-src-filesystem"> <postGoal name="dist:prepare-src-filesystem">
<j:set var="maven.dist.src.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.src.assembly.dir')}" /> <j:set var="maven.dist.src.assembly.dir" value="${pom.getPluginContext('maven-dist-plugin').getVariable('maven.dist.src.assembly.dir')}" />

View File

@ -1,5 +1,5 @@
# #
# Copyright 2002-2005 The Apache Software Foundation. # Copyright 2002-2006 The Apache Software Foundation.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@ -21,9 +21,8 @@ maven.changelog.factory=org.apache.maven.svnlib.SvnChangeLogFactory
maven.checkstyle.properties=checkstyle.xml maven.checkstyle.properties=checkstyle.xml
maven.junit.fork=true maven.junit.fork=true
maven.xdoc.jsl=../commons-build/commons-site.jsl
maven.xdoc.date=left maven.xdoc.date=left
#maven.xdoc.version=${pom.currentVersion} maven.xdoc.version=${pom.currentVersion}
maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html maven.xdoc.developmentProcessUrl=http://jakarta.apache.org/commons/charter.html
maven.xdoc.poweredby.image=maven-feather.png maven.xdoc.poweredby.image=maven-feather.png
@ -40,6 +39,7 @@ maven.javadoc.overview=./src/java/org/apache/commons/lang/overview.html
# This links to the current stable version. We could have LANG_CURRENT, but this # This links to the current stable version. We could have LANG_CURRENT, but this
# is simpler to manage at the moment. # is simpler to manage at the moment.
maven.jdiff.new.tag=CURRENT
maven.jdiff.old.tag=LANG_2_1 maven.jdiff.old.tag=LANG_2_1
# Generate class files for specific VM version (e.g., 1.1 or 1.2). # Generate class files for specific VM version (e.g., 1.1 or 1.2).

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- <!--
Copyright 2002-2005 The Apache Software Foundation. Copyright 2002-2006 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -28,8 +28,8 @@ limitations under the License.
standard as to justify existence in java.lang. standard as to justify existence in java.lang.
</description> </description>
<logo>/images/logo.png</logo> <logo>/images/logo.png</logo>
<url>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</url> <url>http://jakarta.apache.org/commons/lang/</url>
<package>org.apache.commons.${pom.artifactId.substring(8)}</package> <package>org.apache.commons.lang</package>
<organization> <organization>
<name>The Apache Software Foundation</name> <name>The Apache Software Foundation</name>
<url>http://jakarta.apache.org</url> <url>http://jakarta.apache.org</url>
@ -44,12 +44,12 @@ limitations under the License.
</licenses> </licenses>
<gumpRepositoryId>jakarta</gumpRepositoryId> <gumpRepositoryId>jakarta</gumpRepositoryId>
<issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl> <issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl>
<siteAddress>jakarta.apache.org</siteAddress> <siteAddress>people.apache.org</siteAddress>
<siteDirectory>/www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</siteDirectory> <siteDirectory>/www/jakarta.apache.org/commons/lang/</siteDirectory>
<distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/</distributionDirectory> <distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons/lang/</distributionDirectory>
<repository> <repository>
<connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk</connection> <connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk</connection>
<url>http://svn.apache.org/viewcvs/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk</url> <url>http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk</url>
</repository> </repository>
<mailingLists> <mailingLists>
<mailingList> <mailingList>
@ -362,17 +362,26 @@ limitations under the License.
</contributors> </contributors>
<!-- Lang should depend on very little --> <!-- Lang should depend on very little -->
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>3.8.1</version> <version>3.8.1</version>
</dependency> <properties>
<dependency> <scope>test</scope>
<groupId>maven-plugins</groupId> <comment>Required only for testing.</comment>
<artifactId>maven-cobertura-plugin</artifactId> </properties>
<version>1.1.1</version> </dependency>
<type>plugin</type> <dependency>
</dependency> <groupId>maven-plugins</groupId>
<artifactId>maven-cobertura-plugin</artifactId>
<version>1.1.1</version>
<url>http://maven-plugins.sourceforge.net/maven-cobertura-plugin/</url>
<type>plugin</type>
<properties>
<scope>test</scope>
<comment>Required only for generating test coverage reports.</comment>
</properties>
</dependency>
<!-- <!--
<dependency> <dependency>
<groupId>maven-plugins</groupId> <groupId>maven-plugins</groupId>
@ -415,21 +424,20 @@ limitations under the License.
</unitTest> </unitTest>
</build> </build>
<reports> <reports>
<!-- <report>maven-changelog-plugin</report> --> <!--report>maven-changelog-plugin</report-->
<!-- <report>maven-changes-plugin</report> --> <!--report>maven-changes-plugin</report-->
<report>maven-checkstyle-plugin</report> <!--report>maven-developer-activity-plugin</report-->
<report>maven-pmd-plugin</report> <!--report>maven-file-activity-plugin</report-->
<!-- <report>maven-findbugs-plugin</report> --> <report>maven-checkstyle-plugin</report>
<report>maven-cobertura-plugin</report> <report>maven-javadoc-plugin</report>
<!-- <report>maven-developer-activity-plugin</report> --> <report>maven-jdepend-plugin</report>
<!-- <report>maven-file-activity-plugin</report> --> <report>maven-junit-report-plugin</report>
<report>maven-javadoc-plugin</report> <report>maven-jxr-plugin</report>
<!-- <report>maven-jellydoc-plugin</report> --> <report>maven-license-plugin</report>
<report>maven-junit-report-plugin</report> <report>maven-cobertura-plugin</report>
<report>maven-jxr-plugin</report> <report>maven-jdiff-plugin</report>
<report>maven-license-plugin</report> <report>maven-pmd-plugin</report>
<!-- <report>maven-linkcheck-plugin</report> --> <!-- <report>maven-linkcheck-plugin</report> -->
<!-- <report>maven-statcvs-plugin</report> --> <!--report>maven-tasklist-plugin</report-->
<report>maven-tasklist-plugin</report>
</reports> </reports>
</project> </project>

68
xdocs/building.xml Normal file
View File

@ -0,0 +1,68 @@
<?xml version="1.0"?>
<!--
Copyright 2006 The Apache Software Foundation.
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.
-->
<document>
<properties>
<title>Building</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties>
<body>
<!-- ================================================== -->
<section name="Overview">
<p>
Commons Lang uses <a href="http://maven.apache.org">Maven</a> or
<a href="http://ant.apache.org">Ant</a> as a build system.
</p>
<p>
You may also be interested in the upgrade notes:<br />
Upgrade <a href="upgradeto2_1.html">from 2.0 to 2.1</a><br />
Upgrade <a href="upgradeto2_0.html">from 1.0 to 2.0</a><br />
</p>
</section>
<!-- ================================================== -->
<section name="Maven Goals">
<p>
To build a jar file, change into the root directory of Lang and run "maven jar".
The result will be in the "target" subdirectory.
</p>
<p>
To build the Javadocs, run "maven javadoc".
The result will be in "target/docs/apidocs".
</p>
<p>
To build the full website, run "maven site".
The result will be in "target/docs".
You must be online to successfully complete this target.
</p>
<p>
Further details can be found in the
<a href="http://jakarta.apache.org/commons/building.html">commons build instructions</a>.
</p>
</section>
<!-- ================================================== -->
<section name="Ant Goals">
<p>
To build a jar file, change into the root directory of Lang and run "ant jar".
The result will be in the "dist" subdirectory.
</p>
<p>
To build the Javadocs, run "ant javadoc".
The result will be in "dist/docs/api".
</p>
</section>
<!-- ================================================== -->
</body>
</document>

44
xdocs/cvs-usage.xml Normal file
View File

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<!--
Copyright 2006 The Apache Software Foundation.
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.
-->
<document>
<properties>
<title>Source repository</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties>
<body>
<!-- ================================================== -->
<section name="Source repository">
<p>
Jakarta Commons Lang is hosted on the Apache
<a href="http://subversion.tigris.org/">subversion</a> repository.
</p>
<p>
The project URL is:<br />
<code>http://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk</code>
</p>
<p>
The best way to view the repository is via the
<a href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/lang/trunk/">subversion viewer</a>.
</p>
<p>
The alternative is to use the
<a href="http://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk/">native subversion</a> display.
</p>
</section>
<!-- ================================================== -->
</body>
</document>

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- <!--
Copyright 2002-2005 The Apache Software Foundation. Copyright 2002-2006 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -14,16 +14,13 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<document> <document>
<properties> <properties>
<title>Commons</title> <title>Home</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author> <author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties> </properties>
<body>
<body> <!-- ================================================== -->
<section name="Commons Lang"> <section name="Commons Lang">
<p> <p>
@ -40,62 +37,71 @@ supports multiple types of nested-Exceptions, basic enhancements to java.util.Da
building methods, such as hashCode, toString and equals. building methods, such as hashCode, toString and equals.
</p> </p>
</section> </section>
<!-- ================================================== -->
<section name="Latest Release">
<p>The latest release of Apache Jakarta Commons Lang is version 2.1. It is available (from mirrors) in <a href="http://jakarta.apache.org/site/binindex.cgi">binary</a> and <a href="http://jakarta.apache.org/site/sourceindex.cgi">source</a> downloads. The <a href="http://www.apache.org/dist/jakarta/commons/lang/RELEASE-NOTES.txt">release notes</a> explain all of the changes and bugs that were fixed between 2.0 and 2.1. In addition, <a href="http://jdiff.sourceforge.net/">JDiff</a> has been used to create a <a href="http://jakarta.apache.org/commons/lang/Commons-Lang-2.0-to-2.1/changes.html">report</a> on the differences between 2.0 and 2.1. </p>
</section>
<section name="Documentation"> <section name="Documentation">
<p> <p>
An alphabetical list of the packages may be found in the <a href="http://svn.apache.org/viewcvs.cgi/*checkout*/jakarta/commons/proper/lang/trunk/STATUS.html">lang status document</a>. A getting started <a href="userguide.html">user guide</a> is available
together with various <a href="maven-reports.html">project reports</a>.
</p> </p>
<p> <p>
The <a href="http://jakarta.apache.org/commons/lang/api/index.html">JavaDoc API documents</a> are available online. The JavaDoc API documents are available online:
</p>
</section>
<section name="Bugs">
<p>
Bugs may be reported via the Bugzilla Management system. The following links may prove useful:
</p> </p>
<ul> <ul>
<li><a href="http://issues.apache.org/bugzilla/createaccount.cgi">Create a Bugzilla account</a></li> <li>The <a href="api-release/index.html">current release 2.1</a></li>
<li><a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Commons">Submit a bug report</a></li> <li>The <a href="api-2.0/index.html">previous version 2.0</a></li>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Commons&amp;component=Lang&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">All Lang bugs</a></li> <li>The <a href="apidocs/index.html">latest SVN</a></li>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Commons&amp;component=Lang&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;newqueryname=&amp;order=Reuse+same+sort+as+last+time">All open Lang bugs</a></li>
</ul> </ul>
<p>
The <a href="cvs-usage.html">subversion repository</a> can be
<a href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/lang/trunk/">browsed</a>.
</p>
</section> </section>
<!-- ================================================== -->
<section name="Releases"> <section name="Releases">
<ul> <p>
<li><a href="http://www.apache.org/dist/jakarta/commons/lang/">Version 2.1</a></li> The latest version is v2.1. -
<li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-lang/v2.0/">Version 2.0</a></li> <a href="http://jakarta.apache.org/site/downloads/downloads_commons-lang.cgi">Download now!</a><br />
<li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-lang/v1.0.1/">Version 1.0.1</a></li> The <a href="upgradeto2_1.html">upgrade notes</a> are also available.<br />
<li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-lang/v1.0/">Version 1.0</a></li> In addition there is a <a href="Commons-Lang-2.0-to-2.1/changes.html">JDiff report</a> on the differences between 2.0 and 2.1.
<li><a href="http://jakarta.apache.org/builds/jakarta-commons/release/commons-lang/v1.0-b1/">Version 1.0-b1</a></li> </p>
</ul> <p>
For previous releases, see the <a href="http://archive.apache.org/dist/jakarta/commons/lang/">Apache Archive</a>
</p>
</section> </section>
<!-- ================================================== -->
<section name="Repository"> <section name="Support">
<ul> <p>
<li> The <a href="mail-lists.html">commons mailing lists</a> act as the main support forum.
<a href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/lang/trunk/">Subversion Repository</a> The user list is suitable for most library usage queries.
</li> The dev list is intended for the development discussion.
</ul> Please remember that the lists are shared between all commons components,
so prefix your email by [lang].
</p>
<p>
Issues may be reported via <a href="issue-tracking.html">ASF Bugzilla</a>.
Please remember that Bugzilla is shared between all commons components,
so prefix your issue by [lang].
</p>
</section> </section>
<!-- ================================================== -->
<section name="Resources"> <section name="Resources">
<ul> <ul>
<li> <li>
Oct 17, 2003 - <a href="http://www.builder.com/">Builder.com</a> has an article on Commons Lang v1.0 entitled <a href="http://builder.com.com/article.jhtml?id=u00320021017yan01.htm&amp;page=1&amp;vf=tt">Jakarta Commons Lang project offers centralized utility functions</a> [and in <a href="http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39077840,00.htm">chinese</a>]. Oct 17, 2003 - <a href="http://www.builder.com/">Builder.com</a> has an article on Commons Lang v1.0 entitled
<a href="http://builder.com.com/article.jhtml?id=u00320021017yan01.htm&amp;page=1&amp;vf=tt">Jakarta Commons Lang project offers centralized utility functions</a>
[and in <a href="http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39077840,00.htm">chinese</a>].
</li> </li>
<li> <li>
<a href="http://maven.apache.org">Maven</a>, <a href="http://jdiff.sourceforge.net/">JDiff</a>, <a href="http://pmd.sourceforge.net/">PMD</a>, <a href="http://www.cs.umd.edu/~pugh/java/bugs/">FindBugs</a> and <a href="http://www.thecortex.net/clover/">Clover</a> have all been of use in the latest release of Commons Lang. <a href="http://maven.apache.org">Maven</a>,
<a href="http://jdiff.sourceforge.net/">JDiff</a>,
<a href="http://clirr.sourceforge.net/">Clirr</a>,
<a href="http://pmd.sourceforge.net/">PMD</a>,
<a href="http://www.cs.umd.edu/~pugh/java/bugs/">FindBugs</a> and
<a href="http://cobertura.sourceforge.net/">Cobertura</a>
have all been of use in the latest release of Commons Lang.
</li> </li>
</ul> </ul>
</section> </section>
<!-- ================================================== -->
</body> </body>
</document> </document>

61
xdocs/issue-tracking.xml Normal file
View File

@ -0,0 +1,61 @@
<?xml version="1.0"?>
<!--
Copyright 2006 The Apache Software Foundation.
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.
-->
<document>
<properties>
<title>Issue tracking</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties>
<body>
<!-- ================================================== -->
<section name="Issue tracking">
<p>
Commons Lang uses <a href="http://issues.apache.org/bugzilla/">ASF Bugzilla</a> for tracking issues.
To use Bugzilla you may need to <a href="http://issues.apache.org/bugzilla/createaccount.cgi">create an account</a>.
</p>
<p>
If you would like to report a bug, or raise an enhancement request with
Commons Lang please do the following:
<ol>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=NEEDINFO&amp;product=Commons&amp;component=Lang">Search existing open bugs</a>.
If you find your issue listed then please add a comment with your details.</li>
<li><a href="http://mail-archives.apache.org/mod_mbox/jakarta-commons-dev/">Search the mailing list archive</a>.
You may find your issue or idea has already been discussed.</li>
<li><a href="http://issues.apache.org/bugzilla/enter_bug.cgi?product=Commons&amp;component=Lang&amp;version=1.2%20Final&amp;short_desc=%5Blang%5D%20%22Your%20subject%20heading%20here%22&amp;comment=Please%20provide%20details%20here.%20Its%20best%20to%20submit%20patches%20that%20alter%0D%0Aexisting%20file%20content%20in%20%22unified%20diff%22%20format.%20%0D%0A%0D%0ASubmissions%20that%20provide%20new%20files%20can%20be%20supplied%20as%20direct%20file%0D%0Aattachments%20or%20archives%20in%20zip%20or%20tar.gz%20format.%20please%20be%20kind%20%0D%0Aenough%20to%20identify%20the%20format%20of%20the%20attached%20archive%20as%20bugzilla%0D%0Atends%20to%20strip%20these%20characterstics%20by%20removing%20the%20files%20extension.">Submit a bug report or enhancement request</a>.
Please prefix all new issues with [lang] in the summary line.
</li>
</ol>
</p>
<p>
Please also remember these points:
<ul>
<li>the more information you provide, the better we can help you</li>
<li>test cases are vital, particularly for any proposed enhancements</li>
<li>the developers of Commons Lang are all unpaid volunteers</li>
</ul>
</p>
<p>
You may also find these links useful:
<ul>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=NEEDINFO&amp;product=Commons&amp;component=Lang">All Open Lang bugs</a></li>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;product=Commons&amp;component=Lang">All Closed Lang bugs</a></li>
<li><a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=NEEDINFO&amp;bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;product=Commons&amp;component=Lang">All Lang bugs</a></li>
</ul>
</p>
</section>
<!-- ================================================== -->
</body>
</document>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- <!--
Copyright 2002-2005 The Apache Software Foundation. Copyright 2002-2006 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
@ -14,34 +14,35 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
--> -->
<!DOCTYPE org.apache.commons.menus SYSTEM '../../commons-build/menus/menus.dtd'> <!DOCTYPE org.apache.commons.menus SYSTEM 'http://jakarta.apache.org/commons/build/maven-build.dtd'>
<project name="Lang"> <project name="Lang">
<title>Lang</title> <title>Lang</title>
<organizationLogo href="/images/jakarta-logo-blue.gif">
Jakarta
</organizationLogo>
<body> <body>
<links> <links>
<item name="Jakarta Commons" <item name="Jakarta Commons" href="http://jakarta.apache.org/commons/"/>
href="http://jakarta.apache.org/commons/"/>
</links> </links>
<menu name="Commons Lang"> <menu name="Commons Lang">
<item name="Overview" href="/index.html"/> <item name="Overview" href="/index.html"/>
<item name="Download" href="http://jakarta.apache.org/site/downloads/downloads_commons-lang.cgi"/>
<item name="Users guide" href="/userguide.html"/> <item name="Users guide" href="/userguide.html"/>
<item name="Developers guide" href="/developerguide.html"/> <item name="Javadoc (2.1 release)" href="api-release/index.html"/>
<item name="Javadoc (2.1 release)" href="api/index.html"/> </menu>
<menu name="Development">
<item name="Building" href="/building.html"/>
<item name="Mailing lists" href="/mail-lists.html"/> <item name="Mailing lists" href="/mail-lists.html"/>
<item name="Team" href="/team-list.html"/> <item name="Team" href="/team-list.html"/>
<item name="Tasks" href="/tasks.html"/> <item name="Tasks" href="/tasks.html"/>
<item name="Proposal" href="/proposal.html"/> <item name="Proposal" href="/proposal.html"/>
<item name="Subversion" href="http://svn.apache.org/viewcvs/jakarta/commons/proper/lang/trunk"/> <item name="Developers guide" href="/developerguide.html"/>
<item name="SVN repository" href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/lang/trunk/"/>
<item name="Javadoc (SVN latest)" href="apidocs/index.html"/> <item name="Javadoc (SVN latest)" href="apidocs/index.html"/>
</menu> </menu>
&common-menus; &commons;
</body> </body>
</project> </project>

View File

@ -1,25 +1 @@
/* @import url("http://jakarta.apache.org/style/jakarta-maven.css");
* Copyright 2004-2005 The Apache Software Foundation.
*
* 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.
*/
#banner, #banner td {
background: #fff;
color: #000;
}
#banner td {
height: 100%;
vertical-align: middle;
}

687
xdocs/upgradeto2_0.xml Normal file
View File

@ -0,0 +1,687 @@
<?xml version="1.0"?>
<!--
Copyright 2006 The Apache Software Foundation.
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.
-->
<document>
<properties>
<title>Upgrade from 1.0 to 2.0</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties>
<body>
<section name="Upgrade">
<p>
These are the release notes and advice for upgrading Commons-Lang from
version 1.0 to version 2.0.
<source>
INTRODUCTION:
This document contains the release notes for this version of the Commons
Lang package. Commons Lang is a set of utility functions and reusable
components that should be a help in any Java environment.
This release has involved a major clean and tidy exercise.
Javadoc and Tests are now much more thorough.
All methods should now be much clearer in what they do in unusual cases.
INCOMPATIBLE CHANGES:
Some StringUtils methods have changed functionality from 1.0:
isEmpty()
chomp(String)
chomp(String,String)
swapCase(String)
Numerous other methods have changed null handling to accept nulls gracefully.
As with all major version releases, check your code for incompatibilities.
NEW FEATURES:
Since the release of the 1.0 package the following classes have been added:
lang package:
ArrayUtils
BitField
BooleanUtils
CharRange (previously package scoped)
ClassUtils
StringEscapeUtils
WordUtils
IllegalClassException
IncompleteArgumentException
NotImplementedException
NullArgumentException
SerializationException
UnhandledException
Validate
math sub-package:
IntRange
LongRange
Range
DoubleRange
JVMRandom
NumberRange
FloatRange
NumberUtils
Fraction
RandomUtils
time sub-package:
DateFormatUtils
FastDateFormat
DateUtils
StopWatch
Since the release of the 1.0 package the following classes have been changed:
lang:
CharSet:
Added factory method, equals and hashCode().
Better defined and tested the set syntax.
CharSetUtils:
added keep method: keep any characters specified in the CharSet string
RandomStringUtils:
random method: overloaded to allow passing in of a Random class
SerializationUtils:
added empty constructor
StringUtils:
isEmpty() changed to not trim
chomp() changed to be more like Perl.
swapCase() no longer word based, but no difference if you pass in ASCII
Various methods changed in the handling of null (less exceptions).
Many new methods.
Various methods deprecated.
SystemUtils:
isJavaVersionAtLeast(int) added. getJavaVersion() deprecated.
host of new constants.
enum:
Enum:
getEnumClass(Class) added
EnumUtils:
Removed irrelevant Comparable/Serializable interfaces.
exception:
NestableDelegate:
Gained many new methods for dissecting an Exception.
ExceptionUtils:
Gained many new methods to improve handling of nested stack traces.
builder:
ReflectionToStringBuilder:
Handy class added for creating default toStrings.
All other builder classes received a set of new methods.
BUG FIXES:
ID Sev Pri Plt Owner State Result Summary
13367 [PATCH] StringUtil enhancement
13391 Javadoc nit
13771 Additional Lang Method Suggestions
14306 NullPointerException in CompareToBuilder
14357 static option for reversing the stacktrace
14447 ToStringBuilder doesn't work well in subclasses
14883 StringUtils.countMatches loops forever if substring empty
14884 NumberRange inaccurate for Long, etc.
14985 More flexibility for getRootCause in ExceptionUtils
15154 SystemUtils.IS_JAVA_1_5 Javadoc is wrong
15257 Hierarchy support in ToStringBuilder.reflectionToString()
15438 ArrayUtils.contains()
15439 Enum does not support inner sub-classes
15986 Infinite loop in ToStringBuilder.reflectionToString for inne
16076 Example in Javadoc for ToStringBuilder wrong for append.
16193 Hierarchy support in EqualsBuilder.reflectionEquals()
16202 typo in the javadoc example code
16204 Infinite loop in StringUtils.replace(text, repl, with) + FIX
16227 Added class hierachy support to CompareToBuilder.reflectionC
16228 Added class hierachy support to HashCodeBuilder.reflectionHa
16284 MethodUtils: Removed unused code/unused local vars.
16341 No Javadoc for NestableDelegate
16622 Removed compile warning in FastDateFormat
16669 JavaDoc Errata
16676 StackOverflow due to ToStringBuilder
16689 ExceptionUtils new methods.
16690 Specify initial size for Enum's HashMap.
16787 Removed compile warning in ObjectUtils
17250 [Lang] Should ToStringBuilder.reflectionToString handle arra
17654 EnumUtils nit: The import java.io.Serializable is never used
17882 Add join(..., char c) to StringUtils (and some performance f
18077 StringUtils.chomp does not match Perl
18723 RandomStringUtils infloops with length &lt; 1
18836 test.lang fails if compiled with non iso-8859-1 locales
18948 Resurrect the WordWrapUtils from commons-sandbox/utils
19296 [Lang] What to do with FastDateFormat unused private constru
19364 [Lang] time unit tests fail on Sundays
19756 [lang] java.lang.ExceptionInInitializerError thrown by JVMRa
19880 [lang] patch and test case fixing problem with RandomStringU
20165 [LANG] SystemUtils does not play nice in an Applet
20538 [lang] NumberUtils.isNumber allows illegal trailing characte
20592 [lang] RandomStringUtils.randomAlpha methods omit 'z'
20603 [lang] Make NestableDelegate methods public instead of packa
20632 Refactored reflection feature of ToStringBuilder into new Re
20652 StringUtils.chopNewLine - StringIndexOutOfBoundsException
21021 [PATCH] reduce object creation in ToStringBuilder
21068 [lang] [PATCH] NumberUtils min/max, BooleanUtils.xor, and Ar
21099 [lang][PATCH] Unused field 'startFinal' in DateIterator
21715 The javadoc says "Mac" instead of "OS/2"
21734 [PATCH] all NumberUtils.createXXX(String) methods handle null
21750 [lang] StringUtils javadoc and test enhancements
21758 [lang] lang.builder classes javadoc edits (mostly typo fixes)
21797 [lang] Add javadoc examples and tests for StringUtils
21809 [lang] maven-beta10 checkstyle problem
21904 NumberUtils.createBigDecimal("") NPE in Sun 1.3.1_08
21952 [lang] Improved tests, javadoc for CharSetUtils, StringEscapeUtils
22091 Adding tolerance to double[] search methods in ArrayUtils
22094 A small, but important javadoc fix for Fraction proper whole/numerator
22095 [lang] Javadoc, tests improvements for CharSet, CharSetUtils
22098 [lang] Improve util.Validate tests
22245 [lang] test.time fails in Japanese (non-us) locale.
22286 [lang] Missing @since tags
22367 Typo in documentation
22386 [lang] Improve javadoc and overflow behavior of Fraction
DEPRECATIONS:
lang:
NumberRange:
now deprecated, see math subpackage
NumberUtils:
now deprecated, see math subpackage
CHANGES: [In 'diff' format]
Jar changes
===========
&gt; org.apache.commons.lang.math.Range
&gt; org.apache.commons.lang.math.FloatRange
&gt; org.apache.commons.lang.math.NumberUtils
&gt; org.apache.commons.lang.math.JVMRandom
&gt; org.apache.commons.lang.math.IntRange
&gt; org.apache.commons.lang.math.LongRange
&gt; org.apache.commons.lang.math.DoubleRange
&gt; org.apache.commons.lang.math.NumberRange
&gt; org.apache.commons.lang.math.Fraction
&gt; org.apache.commons.lang.math.RandomUtils
&gt; org.apache.commons.lang.time.FastDateFormat
&gt; org.apache.commons.lang.time.DateUtils$DateIterator
&gt; org.apache.commons.lang.time.DateUtils
&gt; org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField
&gt; org.apache.commons.lang.time.FastDateFormat$StringLiteral
&gt; org.apache.commons.lang.time.FastDateFormat$TwelveHourField
&gt; org.apache.commons.lang.time.FastDateFormat$NumberRule
&gt; org.apache.commons.lang.time.FastDateFormat$CharacterLiteral
&gt; org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule
&gt; org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule
&gt; org.apache.commons.lang.time.DateFormatUtils
&gt; org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField
&gt; org.apache.commons.lang.time.DurationFormatUtils
&gt; org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey
&gt; org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField
&gt; org.apache.commons.lang.time.FastDateFormat$PaddedNumberField
&gt; org.apache.commons.lang.time.StopWatch
&gt; org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField
&gt; org.apache.commons.lang.time.FastDateFormat$Rule
&gt; org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField
&gt; org.apache.commons.lang.time.FastDateFormat$TextField
&gt; org.apache.commons.lang.time.FastDateFormat$Pair
&gt; org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField
&gt; org.apache.commons.lang.util.IdentifierUtils$StringNumericIdentifierFactory
&gt; org.apache.commons.lang.util.IdentifierUtils$StringSessionIdentifierFactory
&gt; org.apache.commons.lang.util.IdentifierUtils$LongNumericIdentifierFactory
&gt; org.apache.commons.lang.util.IdentifierUtils$StringAlphanumericIdentifierFactory
&gt; org.apache.commons.lang.util.Validate
&gt; org.apache.commons.lang.util.LongIdentifierFactory
&gt; org.apache.commons.lang.util.IdentifierUtils$1
&gt; org.apache.commons.lang.util.StringIdentifierFactory
&gt; org.apache.commons.lang.util.IdentifierUtils
&gt; org.apache.commons.lang.util.IdentifierFactory
&gt; org.apache.commons.lang.util.BitField
&gt; org.apache.commons.lang.Entities
&gt; org.apache.commons.lang.Entities$LookupEntityMap
&gt; org.apache.commons.lang.NotImplementedException
&gt; org.apache.commons.lang.NullArgumentException
&lt; org.apache.commons.lang.ObjectUtils$1
---
&gt; org.apache.commons.lang.StringPrintWriter
&gt; org.apache.commons.lang.UnhandledException
&gt; org.apache.commons.lang.Entities$HashEntityMap
&gt; org.apache.commons.lang.Entities$ArrayEntityMap
&gt; org.apache.commons.lang.Entities$EntityMap
&gt; org.apache.commons.lang.IntHashMap
&gt; org.apache.commons.lang.BooleanUtils
&gt; org.apache.commons.lang.IncompleteArgumentException
&gt; org.apache.commons.lang.Entities$PrimitiveEntityMap
&gt; org.apache.commons.lang.Entities$TreeEntityMap
&gt; org.apache.commons.lang.WordUtils
&gt; org.apache.commons.lang.StringEscapeUtils
&gt; org.apache.commons.lang.ArrayUtils
&gt; org.apache.commons.lang.Entities$BinaryEntityMap
&gt; org.apache.commons.lang.ClassUtils
&gt; org.apache.commons.lang.IntHashMap$Entry
&gt; org.apache.commons.lang.IllegalClassException
&gt; org.apache.commons.lang.builder.ReflectionToStringBuilder$1
&gt; org.apache.commons.lang.builder.ReflectionToStringBuilder
&gt; org.apache.commons.lang.Entities$MapIntMap
Class changes
=============
org.apache.commons.lang.enum.EnumUtils
--------------------
&lt; public abstract class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object implements java.lang.Comparable, java.io.Serializable {
---
&gt; public class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object {
&gt; public org.apache.commons.lang.enum.EnumUtils();
org.apache.commons.lang.enum.Enum$Entry
--------------------
&gt; final java.util.Map unmodifiableMap;
&gt; final java.util.List unmodifiableList;
org.apache.commons.lang.enum.Enum
--------------------
&gt; protected transient java.lang.String iToString;
&gt; static java.lang.Class class$org$apache$commons$lang$enum$ValuedEnum;
&gt; public java.lang.Class getEnumClass();
org.apache.commons.lang.enum.ValuedEnum
--------------------
&gt; static {};
org.apache.commons.lang.StringUtils
--------------------
&gt; public static final java.lang.String EMPTY;
&gt; public static boolean isEmpty(java.lang.String);
&gt; public static boolean isNotEmpty(java.lang.String);
&gt; public static boolean isBlank(java.lang.String);
&gt; public static boolean isNotBlank(java.lang.String);
&lt; public static java.lang.String deleteSpaces(java.lang.String);
&lt; public static java.lang.String deleteWhitespace(java.lang.String);
&lt; public static boolean isNotEmpty(java.lang.String);
&lt; public static boolean isEmpty(java.lang.String);
---
&gt; public static java.lang.String trimToNull(java.lang.String);
&gt; public static java.lang.String trimToEmpty(java.lang.String);
&gt; public static java.lang.String strip(java.lang.String);
&gt; public static java.lang.String stripToNull(java.lang.String);
&gt; public static java.lang.String stripToEmpty(java.lang.String);
&gt; public static java.lang.String strip(java.lang.String, java.lang.String);
&gt; public static java.lang.String stripStart(java.lang.String, java.lang.String);
&gt; public static java.lang.String stripEnd(java.lang.String, java.lang.String);
&gt; public static java.lang.String stripAll(java.lang.String[])[];
&gt; public static java.lang.String stripAll(java.lang.String[], java.lang.String)[];
&gt; public static int indexOf(java.lang.String, char);
&gt; public static int indexOf(java.lang.String, char, int);
&gt; public static int indexOf(java.lang.String, java.lang.String);
&gt; public static int indexOf(java.lang.String, java.lang.String, int);
&gt; public static int lastIndexOf(java.lang.String, char);
&gt; public static int lastIndexOf(java.lang.String, char, int);
&gt; public static int lastIndexOf(java.lang.String, java.lang.String);
&gt; public static int lastIndexOf(java.lang.String, java.lang.String, int);
&gt; public static boolean contains(java.lang.String, char);
&gt; public static boolean contains(java.lang.String, java.lang.String);
&gt; public static int indexOfAny(java.lang.String, char[]);
&gt; public static int indexOfAny(java.lang.String, java.lang.String);
&gt; public static int indexOfAnyBut(java.lang.String, char[]);
&gt; public static int indexOfAnyBut(java.lang.String, java.lang.String);
&gt; public static boolean containsOnly(java.lang.String, char[]);
&gt; public static boolean containsOnly(java.lang.String, java.lang.String);
&gt; public static boolean containsNone(java.lang.String, char[]);
&gt; public static boolean containsNone(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringBefore(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringAfter(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringBeforeLast(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringAfterLast(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringBetween(java.lang.String, java.lang.String);
&gt; public static java.lang.String substringBetween(java.lang.String, java.lang.String, java.lang.String);
&gt; public static java.lang.String getNestedString(java.lang.String, java.lang.String);
&gt; public static java.lang.String getNestedString(java.lang.String, java.lang.String, java.lang.String);
&gt; public static java.lang.String split(java.lang.String, char)[];
&gt; public static java.lang.String join(java.lang.Object[]);
&gt; public static java.lang.String join(java.lang.Object[], char);
&gt; public static java.lang.String join(java.util.Iterator, char);
&gt; public static java.lang.String deleteSpaces(java.lang.String);
&gt; public static java.lang.String deleteWhitespace(java.lang.String);
&gt; public static java.lang.String replaceChars(java.lang.String, char, char);
&gt; public static java.lang.String replaceChars(java.lang.String, java.lang.String, java.lang.String);
&lt; public static java.lang.String center(java.lang.String, int);
&lt; public static java.lang.String center(java.lang.String, int, java.lang.String);
---
&gt; public static java.lang.String overlay(java.lang.String, java.lang.String, int, int);
&gt; public static java.lang.String rightPad(java.lang.String, int, char);
&gt; public static java.lang.String leftPad(java.lang.String, int, char);
&lt; public static java.lang.String strip(java.lang.String);
&lt; public static java.lang.String strip(java.lang.String, java.lang.String);
&lt; public static java.lang.String stripAll(java.lang.String[])[];
&lt; public static java.lang.String stripAll(java.lang.String[], java.lang.String)[];
&lt; public static java.lang.String stripEnd(java.lang.String, java.lang.String);
&lt; public static java.lang.String stripStart(java.lang.String, java.lang.String);
---
&gt; public static java.lang.String center(java.lang.String, int);
&gt; public static java.lang.String center(java.lang.String, int, char);
&gt; public static java.lang.String center(java.lang.String, int, java.lang.String);
&lt; public static java.lang.String uncapitalise(java.lang.String);
---
&gt; public static java.lang.String capitalize(java.lang.String);
&gt; public static java.lang.String uncapitalize(java.lang.String);
&gt; public static java.lang.String uncapitalise(java.lang.String);
&lt; public static java.lang.String getNestedString(java.lang.String, java.lang.String);
&lt; public static java.lang.String getNestedString(java.lang.String, java.lang.String, java.lang.String);
&gt; public static boolean isWhitespace(java.lang.String);
&gt; public static java.lang.String reverseDelimited(java.lang.String, char);
&gt; public static java.lang.String abbreviate(java.lang.String, int);
&gt; public static java.lang.String abbreviate(java.lang.String, int, int);
&gt; public static java.lang.String difference(java.lang.String, java.lang.String);
&gt; public static int differenceAt(java.lang.String, java.lang.String);
&lt; public static boolean containsOnly(java.lang.String, char[]);
---
&gt; static {};
org.apache.commons.lang.ObjectUtils
--------------------
&gt; public static java.lang.StringBuffer appendIdentityToString(java.lang.StringBuffer, java.lang.Object);
&gt; public static java.lang.String toString(java.lang.Object);
&gt; public static java.lang.String toString(java.lang.Object, java.lang.String);
&lt; org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1);
---
&gt; org.apache.commons.lang.ObjectUtils.Null();
&gt; static {};
org.apache.commons.lang.exception.NestableDelegate
--------------------
&gt; public static boolean topDown;
&gt; public static boolean trimStackFrames;
&lt; org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable);
&lt; java.lang.String getMessage(int);
&lt; java.lang.String getMessage(java.lang.String);
&lt; java.lang.String getMessages()[];
&lt; java.lang.Throwable getThrowable(int);
&lt; int getThrowableCount();
&lt; java.lang.Throwable getThrowables()[];
&lt; int indexOfThrowable(java.lang.Class, int);
---
&gt; public org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable);
&gt; public java.lang.String getMessage(int);
&gt; public java.lang.String getMessage(java.lang.String);
&gt; public java.lang.String getMessages()[];
&gt; public java.lang.Throwable getThrowable(int);
&gt; public int getThrowableCount();
&gt; public java.lang.Throwable getThrowables()[];
&gt; public int indexOfThrowable(java.lang.Class, int);
&gt; protected java.lang.String getStackFrames(java.lang.Throwable)[];
&gt; protected void trimStackFrames(java.util.List);
org.apache.commons.lang.exception.ExceptionUtils
--------------------
&lt; protected static final java.lang.String CAUSE_METHOD_NAMES[];
&lt; protected static final java.lang.Object CAUSE_METHOD_PARAMS[];
---
&gt; static final java.lang.String WRAPPED_MARKER;
&lt; protected org.apache.commons.lang.exception.ExceptionUtils();
---
&gt; public org.apache.commons.lang.exception.ExceptionUtils();
&gt; public static void addCauseMethodName(java.lang.String);
&gt; public static boolean isThrowableNested();
&gt; public static boolean isNestedThrowable(java.lang.Throwable);
&gt; public static void printRootCauseStackTrace(java.lang.Throwable);
&gt; public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintStream);
&gt; public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintWriter);
&gt; public static java.lang.String getRootCauseStackTrace(java.lang.Throwable)[];
&gt; public static void removeCommonFrames(java.util.List, java.util.List);
&gt; public static java.lang.String getFullStackTrace(java.lang.Throwable);
&gt; static java.util.List getStackFrameList(java.lang.Throwable);
org.apache.commons.lang.CharRange
--------------------
&lt; class org.apache.commons.lang.CharRange extends java.lang.Object {
---
&gt; public final class org.apache.commons.lang.CharRange extends java.lang.Object implements java.io.Serializable {
&gt; public org.apache.commons.lang.CharRange(char,boolean);
&lt; public org.apache.commons.lang.CharRange(java.lang.String,java.lang.String);
---
&gt; public org.apache.commons.lang.CharRange(char,char,boolean);
&lt; public void setStart(char);
&lt; public void setEnd(char);
&lt; public boolean isRange();
&lt; public boolean inRange(char);
&lt; public void setNegated(boolean);
---
&gt; public boolean contains(char);
&gt; public boolean contains(org.apache.commons.lang.CharRange);
&gt; public boolean equals(java.lang.Object);
&gt; public int hashCode();
&gt; static {};
org.apache.commons.lang.ObjectUtils$1
--------------------
&lt; Compiled from ObjectUtils.java
&lt; class org.apache.commons.lang.ObjectUtils$1 extends java.lang.Object {
&lt; }
---
&gt; Class 'org.apache.commons.lang.ObjectUtils$1' has been removed
org.apache.commons.lang.ObjectUtils$Null
--------------------
&lt; org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1);
---
&gt; org.apache.commons.lang.ObjectUtils.Null();
&gt; static {};
org.apache.commons.lang.SystemUtils
--------------------
&gt; public static final java.lang.String FILE_ENCODING;
&gt; public static final java.lang.String JAVA_RUNTIME_NAME;
&gt; public static final java.lang.String JAVA_RUNTIME_VERSION;
&gt; public static final java.lang.String JAVA_VM_INFO;
&gt; public static final java.lang.String USER_COUNTRY;
&gt; public static final java.lang.String USER_LANGUAGE;
&gt; public static final float JAVA_VERSION_FLOAT;
&gt; public static final int JAVA_VERSION_INT;
&gt; public static final boolean IS_OS_AIX;
&gt; public static final boolean IS_OS_HP_UX;
&gt; public static final boolean IS_OS_IRIX;
&gt; public static final boolean IS_OS_LINUX;
&gt; public static final boolean IS_OS_MAC;
&gt; public static final boolean IS_OS_MAC_OSX;
&gt; public static final boolean IS_OS_OS2;
&gt; public static final boolean IS_OS_SOLARIS;
&gt; public static final boolean IS_OS_SUN_OS;
&gt; public static final boolean IS_OS_WINDOWS;
&gt; public static final boolean IS_OS_WINDOWS_2000;
&gt; public static final boolean IS_OS_WINDOWS_95;
&gt; public static final boolean IS_OS_WINDOWS_98;
&gt; public static final boolean IS_OS_WINDOWS_ME;
&gt; public static final boolean IS_OS_WINDOWS_NT;
&gt; public static final boolean IS_OS_WINDOWS_XP;
&gt; public static boolean isJavaVersionAtLeast(int);
org.apache.commons.lang.SerializationUtils
--------------------
&gt; public org.apache.commons.lang.SerializationUtils();
org.apache.commons.lang.RandomStringUtils
--------------------
&gt; public static java.lang.String random(int, int, int, boolean, boolean, char[], java.util.Random);
org.apache.commons.lang.CharSet
--------------------
&lt; public class org.apache.commons.lang.CharSet extends java.lang.Object {
---
&gt; public class org.apache.commons.lang.CharSet extends java.lang.Object implements java.io.Serializable {
&gt; public static final org.apache.commons.lang.CharSet EMPTY;
&gt; public static final org.apache.commons.lang.CharSet ASCII_ALPHA;
&gt; public static final org.apache.commons.lang.CharSet ASCII_ALPHA_LOWER;
&gt; public static final org.apache.commons.lang.CharSet ASCII_ALPHA_UPPER;
&gt; public static final org.apache.commons.lang.CharSet ASCII_NUMERIC;
&gt; protected static final java.util.Map COMMON;
&gt; public static org.apache.commons.lang.CharSet getInstance(java.lang.String);
&gt; protected org.apache.commons.lang.CharSet(java.lang.String);
&lt; public boolean contains(char);
&gt; public org.apache.commons.lang.CharRange getCharRanges()[];
&gt; public boolean contains(char);
&gt; public boolean equals(java.lang.Object);
&gt; public int hashCode();
&gt; static {};
org.apache.commons.lang.CharSetUtils
--------------------
&gt; public static java.lang.String keep(java.lang.String, java.lang.String);
&gt; public static java.lang.String keep(java.lang.String, java.lang.String[]);
org.apache.commons.lang.builder.ToStringBuilder
--------------------
&lt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object);
&lt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle);
&lt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer);
&lt; public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(long);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(int);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(short);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(char);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char);
---
&gt; public static java.lang.String reflectionToString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle, boolean, java.lang.Class);
&gt; public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle);
&gt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object);
&gt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle);
&gt; public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(byte[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(char);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(char[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(double[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(long[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(float[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(int);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(long);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(long[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(short);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(char[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(byte[]);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(double[]);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(float[]);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]);
&lt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean);
---
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]);
&gt; public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean);
&gt; public org.apache.commons.lang.builder.ToStringBuilder appendAsObjectToString(java.lang.Object);
&gt; public org.apache.commons.lang.builder.ToStringBuilder appendSuper(java.lang.String);
&gt; public org.apache.commons.lang.builder.ToStringBuilder appendToString(java.lang.String);
&gt; public org.apache.commons.lang.builder.ToStringStyle getStyle();
&gt; public java.lang.Object getObject();
org.apache.commons.lang.builder.StandardToStringStyle
--------------------
&gt; public boolean isUseShortClassName();
&gt; public void setUseShortClassName(boolean);
&gt; public boolean isFieldSeparatorAtStart();
&gt; public void setFieldSeparatorAtStart(boolean);
&gt; public boolean isFieldSeparatorAtEnd();
&gt; public void setFieldSeparatorAtEnd(boolean);
org.apache.commons.lang.builder.ToStringStyle
--------------------
&gt; public void appendSuper(java.lang.StringBuffer, java.lang.String);
&gt; public void appendToString(java.lang.StringBuffer, java.lang.String);
&gt; protected void removeLastFieldSeparator(java.lang.StringBuffer);
&gt; protected void reflectionAppendArrayDetail(java.lang.StringBuffer, java.lang.String, java.lang.Object);
&gt; protected boolean isUseShortClassName();
&gt; protected void setUseShortClassName(boolean);
&gt; protected boolean isFieldSeparatorAtStart();
&gt; protected void setFieldSeparatorAtStart(boolean);
&gt; protected boolean isFieldSeparatorAtEnd();
&gt; protected void setFieldSeparatorAtEnd(boolean);
org.apache.commons.lang.builder.HashCodeBuilder
--------------------
&gt; public static int reflectionHashCode(int, int, java.lang.Object, boolean, java.lang.Class);
&gt; public org.apache.commons.lang.builder.HashCodeBuilder appendSuper(int);
org.apache.commons.lang.builder.CompareToBuilder
--------------------
&gt; public static int reflectionCompare(java.lang.Object, java.lang.Object, boolean, java.lang.Class);
&gt; public org.apache.commons.lang.builder.CompareToBuilder appendSuper(int);
&gt; public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object, java.lang.Object, java.util.Comparator);
&gt; public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object[], java.lang.Object[], java.util.Comparator);
org.apache.commons.lang.builder.EqualsBuilder
--------------------
&gt; public static boolean reflectionEquals(java.lang.Object, java.lang.Object, boolean, java.lang.Class);
&gt; public org.apache.commons.lang.builder.EqualsBuilder appendSuper(boolean);
</source>
</p>
</section>
</body>
</document>

162
xdocs/upgradeto2_1.xml Normal file
View File

@ -0,0 +1,162 @@
<?xml version="1.0"?>
<!--
Copyright 2006 The Apache Software Foundation.
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.
-->
<document>
<properties>
<title>Upgrade from 2.0 to 2.1</title>
<author email="commons-dev@jakarta.apache.org">Commons Documentation Team</author>
</properties>
<body>
<section name="Upgrade">
<p>
These are the release notes and advice for upgrading Commons-Lang from
version 2.0 to version 2.1.
<source>
INTRODUCTION:
This document contains the release notes for the 2.1 version of Apache Jakarta Commons Lang.
Commons Lang is a set of utility functions and reusable components that
should be of use in any Java environment.
INCOMPATIBLE CHANGES:
- The Nestable interface defines the method indexOfThrowable(Class).
Previously the implementations checked only for a specific Class.
Now they check for subclasses of that Class as well.
For most situations this will be the expected behaviour (ie. its a bug fix).
If it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
Note that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
However, we don't recommend that as a long-term solution.)
- The StopWatch class has had much extra validation added.
If your code previously relied on unusual aspects, it may no longer work.
- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
junit.jar to ANT_HOME/lib. You can get JUnit from http://www.junit.org. See the developer's guide
for more details.
DEPRECATIONS:
- The enum package has been renamed to enums for JDK1.5 compilance.
All functionality is identical, just the package has changed.
This package will be removed in v3.0.
- NumberUtils.stringToInt - renamed to toInt
- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
as int not long. The replacements are MILLIS_PER_*.
NEW FEATURES:
New:
- Mutable package - contains basic classes that hold an Object or primitive
and provide both get and set methods.
- DurationFormatUtils - provides various methods for formatting durations
- CharEncoding - definitions of constants for character encoding work
- CharUtils - utilities for working with characters
Updated:
- ArrayUtils - many more methods, especially List-like methods
- BooleanUtils - isTrue and isFalse methods that handle null
- ClassUtils - primitive to wrapper class conversion methods
- ClassUtils - class name comparator
- IllegalClassException - extra constructor for common instanceof case
- NotImplementedException - supports nested exceptions
- ObjectUtils - hashcode method handling null
- StringUtils - isAsciiPrintable to check the contents of a string
-- ordinalIndexOf to find the nth index of a string
-- various remove methods to remove parts of a string
-- various split methods to provide more control over splitting a string
-- defaultIfEmpty to default a string if null or empty
- SystemUtils - methods to get system properties as File objects
-- extra constants representing system properties
- Validate - new methods to check whether all elements in a collection are of a specific type
- WordUtils - new methods to capitalize based on a set of specified delimiters
- EqualsBuilder - now provides setter to internal state
- ToStringStyle - new style, short prefix style
- ReflectionToStringBuilder - more flags to control the output with regards to statics
- ExceptionUtils - added indexOfType methods that check subclasses, thus leaving the existing
indexOfThrowable method untouched (see incompatible changes section)
- NumberUtils - various string to number parsing methods added
- DateUtils - methods added to compare dates in various ways
-- method to parse a date string using multiple patterns
- FastDateFormat - extra formatting methods that take in a millisecond long value
-- additional static factory methods
- StopWatch - new methods for split behaviour
BUG FIXES:
19331 General case: infinite loop: ToStringBuilder.reflectionToString
23174 EqualsBuilder.append(Object[], Object[]) throws NPE
23356 Make DurationFormatUtils public!
23557 WordUtils.capitalizeFully(String str) should take a delimiters
23683 New method for converting a primitive Class to its corresponding wrapper
23430 Minor javadoc fixes for StringUtils.contains(String, String)
23590 make optional parameters in FastDateFormat really optional
24056 Documentation error in StringUtils.replace
25227 StringEscapeUtils.unescapeHtml() doesn't handle hex entities
25454 new StringUtils.replaceChars behaves differently from old Ch
25560 DateUtils.truncate() is off by one hour when using a date in DST switch 'zone'
25627 DateUtils constants should be long
25683 Add method that validates Collection elements are a correct
25849 Add SystemUtils methods for directory properties.
26616 ClassCastException in Enum.equals(Object)
26699 Tokenizer Enhancements: reset input string, static CSV
26734 NullPointerException in EqualsBuilder.append(Object[], Object[])
26877 Add SystemUtils.AWT_TOOLKIT and others.
26922 public static boolean DateUtils.equals(Date dt1, Date dt2)
27592 WordUtils capitalize improvement
27876 ReflectionToStringBuilder.toString(null) throws exception by design
27877 Make ClassUtils methods null-safe and not throw an IAE.
28468 StringUtils.defaultString: Documentation error
28554 Add hashCode-support to class ObjectUtils
29082 Enhancement of ExceptionUtils.CAUSE_METHOD_NAMES
29149 StringEscapeUtils.unescapeHtml() doesn't handle an empty entity
29294 lang.math.Fraction class deficiencies
29673 ExceptionUtils: new getCause() methodname (for tomcat)
29794 Add convenience format(long) methods to FastDateForma
30328 HashCodeBuilder does not use the same values as Boolean (fixed as documentation)
30334 New class proposal: CharacterEncoding
30674 parseDate class from HttpClient's DateParser class
30815 ArrayUtils.isEquals() throws ClassCastException when array1
30929 Nestable.indexOfThrowable(Class) uses Class.equals() to match
31395 DateUtils.truncate oddity at the far end of the Date spectrum
31478 Compile error with JDK 5 "enum" is a keyword
31572 o.a.c.lang.enum.ValuedEnum: 'enum'is a keyword in JDK1.5.0
31933 ToStringStyle setArrayEnd handled null incorrectly
32133 SystemUtils fails init on HP-UX
32198 Error in JavaDoc for StringUtils.chomp(String, String)
32625 Can't subclass EqualsBuilder because isEquals is private
33067 EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null
33069 EqualsBuilder.append(Object[], Object[]) incorrectly checks that rhs[i] is instance of lhs[i]'s class
33574 unbalanced ReflectionToStringBuilder
33737 ExceptionUtils.addCauseMethodName(String) does not check for duplicates.
</source>
</p>
</section>
</body>
</document>