diff --git a/src/site/xdoc/article3_0.xml b/src/site/xdoc/article3_0.xml index 7e4a6fdf6..2c00d6e03 100644 --- a/src/site/xdoc/article3_0.xml +++ b/src/site/xdoc/article3_0.xml @@ -32,12 +32,14 @@ limitations under the License.

Lang is now Java 5 based. We've generified the API, moved certain APIs to support varargs and thrown out any features that are now supported by Java itself. We've removed the deprecated parts of the API and have also removed some features that were deemed weak or unnecessary. All of this means that Lang 3.0 is not backwards compatible.

-

To that end we have changed the package name, allowing Lang 3.0 to sit side-by-side with your previous version of Lang without any bad side effects. The new package name is the exciting and original org.apache.commons.lang3.

+

To that end we have changed the package name, allowing Lang 3.0 to sit side-by-side with your previous version of Lang without any bad side effects. The new package name is the exciting and original org.apache.commons.lang3. This also forces you to recompile your code, making sure the compiler can let you know if a backwards incompatibility affects you.

As you'd expect, there are also new features, enhancements and bugs fixed.

+

Java code

Despite the label of backwards incompatibility, in the vast majority of cases the simple addition of a '3' to an import statement will suffice for your migration.


@@ -46,6 +48,7 @@ were deemed weak or unnecessary. All of this means that Lang 3.0 is not backward

groupId: commons-lang -> org.apache.commons

artifactId: commons-lang -> commons-lang3

+

Enum package

Java 5 provided enums out of the box, therefore we dispensed with both the deprecated enum package, @@ -76,31 +79,31 @@ we will remove the related methods in Lang 4.0.

Two new packages have shown up. org.apache.commons.lang3.concurrent, which unsurprisingly provides support classes for multi-threaded programming, and org.apache.commons.lang3.text.translate, which provides a pluggable API for text transformation.

-TODO: Add examples +
-
-

CharSequenceUtils

-

EnumUtils

-

JavaVersion

-

Pair

-

Range

-

builder.Builder

-

exception.ContextedException

-

exception.CloneFailedException

-

reflect.ConstructorUtils

-

reflect.FieldUtils

-

reflect.MethodUtils

-

reflect.TypeUtils

-

text.WordUtils

-
-
+
+

There are many new classes and methods in Lang 3.0 - the most complete way to see the changes is via this Lang2 to Lang3 Clirr report.

+

Here is a summary of the new classes:

+
    +
  • AnnotationUtils
  • +
  • CharSequenceUtils
  • +
  • EnumUtils
  • +
  • JavaVersion - used in SystemUtils
  • +
  • Pair
  • +
  • Range - replaces the old math.*Range classes
  • +
  • builder.Builder
  • +
  • exception.ContextedException
  • +
  • exception.CloneFailedException
  • +
  • reflect.ConstructorUtils
  • +
  • reflect.FieldUtils
  • +
  • reflect.MethodUtils
  • +
  • reflect.TypeUtils
  • +
  • text.WordUtils
  • +
-
-

Add info about SystemUtils moving over to the JavaVersion enum and away from int/float.

-
- -
+
+

See the 3.0 changes report for the list of fixed bugs and other enhancements.