$Id: RELEASE-NOTES.txt,v 1.6 2003/07/08 22:05:14 scolebourne Exp $ Commons Lang Package Version 2.0 Release Notes 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. NEW FEATURES: Since the release of the 1.0 package the following classes have been added: lang package. ArrayUtils BooleanUtils ClassUtils StringEscapeUtils StringPrintWriter WordWrapUtils IllegalClassException IncompleteArgumentException NotImplementedException NullArgumentException SerializationException UnhandledException math sub-package. IntRange LongRange Range DoubleRange JVMRandom NumberRange FloatRange NumberUtils Fraction RandomUtils time sub-package: DateFormatUtils FastDateFormat DateUtils StopWatch util sub-package: BitField IdentifierUtils Validate Since the release of the 1.0 package the following classes have been changed: lang. 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: defaultString method removed. Nineteen new methods. Eight methods deprecated. SystemUtils: isJavaVersionAtLeast added. getJavaVersion deprecated. host of new constants. enum. Enum: getEnumClass(Class) added EnumUtils: Removed 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: DEPRECATIONS: lang. NumberRange: now deprecated, see math subpackage NumberUtils: now deprecated, see math subpackage CHANGES: [In 'diff' format] Jar changes =========== > org.apache.commons.lang.math.Range > org.apache.commons.lang.math.FloatRange > org.apache.commons.lang.math.NumberUtils > org.apache.commons.lang.math.JVMRandom > org.apache.commons.lang.math.IntRange > org.apache.commons.lang.math.LongRange > org.apache.commons.lang.math.DoubleRange > org.apache.commons.lang.math.NumberRange > org.apache.commons.lang.math.Fraction > org.apache.commons.lang.math.RandomUtils > org.apache.commons.lang.time.FastDateFormat > org.apache.commons.lang.time.DateUtils$DateIterator > org.apache.commons.lang.time.DateUtils > org.apache.commons.lang.time.FastDateFormat$UnpaddedMonthField > org.apache.commons.lang.time.FastDateFormat$StringLiteral > org.apache.commons.lang.time.FastDateFormat$TwelveHourField > org.apache.commons.lang.time.FastDateFormat$NumberRule > org.apache.commons.lang.time.FastDateFormat$CharacterLiteral > org.apache.commons.lang.time.FastDateFormat$TimeZoneNumberRule > org.apache.commons.lang.time.FastDateFormat$TimeZoneNameRule > org.apache.commons.lang.time.DateFormatUtils > org.apache.commons.lang.time.FastDateFormat$TwoDigitMonthField > org.apache.commons.lang.time.DurationFormatUtils > org.apache.commons.lang.time.FastDateFormat$TimeZoneDisplayKey > org.apache.commons.lang.time.FastDateFormat$UnpaddedNumberField > org.apache.commons.lang.time.FastDateFormat$PaddedNumberField > org.apache.commons.lang.time.StopWatch > org.apache.commons.lang.time.FastDateFormat$TwentyFourHourField > org.apache.commons.lang.time.FastDateFormat$Rule > org.apache.commons.lang.time.FastDateFormat$TwoDigitNumberField > org.apache.commons.lang.time.FastDateFormat$TextField > org.apache.commons.lang.time.FastDateFormat$Pair > org.apache.commons.lang.time.FastDateFormat$TwoDigitYearField > org.apache.commons.lang.util.IdentifierUtils$StringNumericIdentifierFactory > org.apache.commons.lang.util.IdentifierUtils$StringSessionIdentifierFactory > org.apache.commons.lang.util.IdentifierUtils$LongNumericIdentifierFactory > org.apache.commons.lang.util.IdentifierUtils$StringAlphanumericIdentifierFactory > org.apache.commons.lang.util.Validate > org.apache.commons.lang.util.LongIdentifierFactory > org.apache.commons.lang.util.IdentifierUtils$1 > org.apache.commons.lang.util.StringIdentifierFactory > org.apache.commons.lang.util.IdentifierUtils > org.apache.commons.lang.util.IdentifierFactory > org.apache.commons.lang.util.BitField > org.apache.commons.lang.Entities > org.apache.commons.lang.reflect.MethodUtils > org.apache.commons.lang.reflect.ReflectionException > org.apache.commons.lang.reflect.ConstructorUtils > org.apache.commons.lang.reflect.ReflectionUtils > org.apache.commons.lang.reflect.FieldUtils > org.apache.commons.lang.Entities$LookupEntityMap > org.apache.commons.lang.NotImplementedException > org.apache.commons.lang.NullArgumentException < org.apache.commons.lang.ObjectUtils$1 > org.apache.commons.lang.StringPrintWriter > org.apache.commons.lang.UnhandledException > org.apache.commons.lang.Entities$HashEntityMap > org.apache.commons.lang.Entities$ArrayEntityMap > org.apache.commons.lang.Entities$EntityMap > org.apache.commons.lang.IntHashMap > org.apache.commons.lang.BooleanUtils > org.apache.commons.lang.IncompleteArgumentException > org.apache.commons.lang.Entities$PrimitiveEntityMap > org.apache.commons.lang.Entities$TreeEntityMap > org.apache.commons.lang.StringEscapeUtils > org.apache.commons.lang.ArrayUtils > org.apache.commons.lang.Entities$BinaryEntityMap > org.apache.commons.lang.WordWrapUtils > org.apache.commons.lang.ClassUtils > org.apache.commons.lang.IntHashMap$Entry > org.apache.commons.lang.IllegalClassException > org.apache.commons.lang.builder.ReflectionToStringBuilder$1 > org.apache.commons.lang.builder.ReflectionToStringBuilder > org.apache.commons.lang.Entities$MapIntMap Class changes ============= org.apache.commons.lang.enum.EnumUtils -------------------- < public abstract class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object implements java.lang.Comparable, java.io.Serializable { --- > public class org.apache.commons.lang.enum.EnumUtils extends java.lang.Object { org.apache.commons.lang.enum.Enum -------------------- > static java.lang.Class class$org$apache$commons$lang$enum$ValuedEnum; > protected static java.lang.Class getEnumClass(java.lang.Class); org.apache.commons.lang.StringUtils -------------------- > public static java.lang.String trimToNull(java.lang.String); > public static java.lang.String trimToEmpty(java.lang.String); > public static java.lang.String join(java.lang.Object[], char); > public static java.lang.String join(java.util.Iterator, char); > public static java.lang.String slice(java.lang.String); > public static java.lang.String slice(java.lang.String, java.lang.String); > public static java.lang.String sliceRemainder(java.lang.String, java.lang.String); > public static java.lang.String sliceFirstRemainder(java.lang.String, java.lang.String); > public static java.lang.String sliceFirst(java.lang.String, java.lang.String); > public static java.lang.String unescape(java.lang.String); > public static java.lang.String rightPad(java.lang.String, int, char); > public static java.lang.String leftPad(java.lang.String, int, char); > public static java.lang.String uncapitaliseAllWords(java.lang.String); > public static boolean isWhitespace(java.lang.String); < public static java.lang.String defaultString(java.lang.String); < public static java.lang.String defaultString(java.lang.String, java.lang.String); --- > public static boolean containsOnly(java.lang.String, java.lang.String); > public static boolean containsNone(java.lang.String, java.lang.String); > public static boolean containsNone(java.lang.String, char[]); > public static boolean containsOnly(java.lang.String, char[]); > public static int indexOfAnyBut(java.lang.String, char[]); > public static int indexOfAnyBut(java.lang.String, java.lang.String); > public static java.lang.String defaultString(java.lang.Object); > public static java.lang.String defaultString(java.lang.Object, java.lang.String); > public static java.lang.String abbreviate(java.lang.String, int); > public static java.lang.String abbreviate(java.lang.String, int, int); > public static java.lang.String difference(java.lang.String, java.lang.String); > public static int differenceAt(java.lang.String, java.lang.String); < public static boolean containsOnly(java.lang.String, char[]); --- > static {}; org.apache.commons.lang.ObjectUtils -------------------- < org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1); --- > org.apache.commons.lang.ObjectUtils.Null(); > static {}; org.apache.commons.lang.exception.NestableDelegate -------------------- > public static boolean topDown; > public static boolean trimStackFrames; < org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable); < java.lang.String getMessage(int); < java.lang.String getMessage(java.lang.String); < java.lang.String getMessages()[]; < java.lang.Throwable getThrowable(int); < int getThrowableCount(); < java.lang.Throwable getThrowables()[]; < int indexOfThrowable(java.lang.Class, int); --- > public org.apache.commons.lang.exception.NestableDelegate(org.apache.commons.lang.exception.Nestable); > public java.lang.String getMessage(int); > public java.lang.String getMessage(java.lang.String); > public java.lang.String getMessages()[]; > public java.lang.Throwable getThrowable(int); > public int getThrowableCount(); > public java.lang.Throwable getThrowables()[]; > public int indexOfThrowable(java.lang.Class, int); > protected java.lang.String getStackFrames(java.lang.Throwable)[]; > protected void trimStackFrames(java.util.List); org.apache.commons.lang.exception.ExceptionUtils -------------------- < protected static final java.lang.String CAUSE_METHOD_NAMES[]; < protected static final java.lang.Object CAUSE_METHOD_PARAMS[]; --- > static final java.lang.String WRAPPED_MARKER; > protected static java.lang.String CAUSE_METHOD_NAMES[]; > public static void addCauseMethodName(java.lang.String); > public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintStream); > public static void printRootCauseStackTrace(java.lang.Throwable); > public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintWriter); > public static java.lang.String getRootCauseStackTrace(java.lang.Throwable)[]; > public static void removeCommonFrames(java.util.List, java.util.List); > public static java.lang.String getFullStackTrace(java.lang.Throwable); > public static boolean isNestedThrowable(java.lang.Throwable); > static java.util.List getStackFrameList(java.lang.Throwable); > public static boolean isThrowableNested(); org.apache.commons.lang.ObjectUtils$1 -------------------- < Compiled from ObjectUtils.java < class org.apache.commons.lang.ObjectUtils$1 extends java.lang.Object { < } --- > Class 'org.apache.commons.lang.ObjectUtils$1' has been removed org.apache.commons.lang.ObjectUtils$Null -------------------- < org.apache.commons.lang.ObjectUtils.Null(org.apache.commons.lang.ObjectUtils$1); --- > org.apache.commons.lang.ObjectUtils.Null(); > static {}; org.apache.commons.lang.SystemUtils -------------------- > public static final java.lang.String FILE_ENCODING; > public static final boolean IS_JAVA_1_1; > public static final boolean IS_JAVA_1_2; > public static final boolean IS_JAVA_1_3; > public static final boolean IS_JAVA_1_4; > public static final boolean IS_JAVA_1_5; > public static final boolean IS_OS_AIX; > public static final boolean IS_OS_HP_UX; > public static final boolean IS_OS_IRIX; > public static final boolean IS_OS_LINUX; > public static final boolean IS_OS_MAC; > public static final boolean IS_OS_MAC_OSX; > public static final boolean IS_OS_OS2; > public static final boolean IS_OS_SOLARIS; > public static final boolean IS_OS_SUN_OS; > public static final boolean IS_OS_WINDOWS; > public static final boolean IS_OS_WINDOWS_2000; > public static final boolean IS_OS_WINDOWS_95; > public static final boolean IS_OS_WINDOWS_98; > public static final boolean IS_OS_WINDOWS_ME; > public static final boolean IS_OS_WINDOWS_NT; > public static final boolean IS_OS_WINDOWS_XP; > public static final java.lang.String JAVA_RUNTIME_NAME; > public static final java.lang.String JAVA_RUNTIME_VERSION; > public static final float JAVA_VERSION_FLOAT; > public static final int JAVA_VERSION_INT; > public static final java.lang.String JAVA_VM_INFO; > public static final java.lang.String USER_COUNTRY; > public static final java.lang.String USER_LANGUAGE; < public static final boolean IS_JAVA_1_1; < public static final boolean IS_JAVA_1_2; < public static final boolean IS_JAVA_1_3; < public static final boolean IS_JAVA_1_4; < public static final boolean IS_JAVA_1_5; < public org.apache.commons.lang.SystemUtils(); > public static boolean isJavaVersionAtLeast(int); > public org.apache.commons.lang.SystemUtils(); org.apache.commons.lang.SerializationUtils -------------------- > public org.apache.commons.lang.SerializationUtils(); org.apache.commons.lang.RandomStringUtils -------------------- > public static java.lang.String random(int, int, int, boolean, boolean, char[], java.util.Random); org.apache.commons.lang.CharSetUtils -------------------- > public static java.lang.String keep(java.lang.String, java.lang.String); > public static java.lang.String keep(java.lang.String, java.lang.String[]); org.apache.commons.lang.builder.ToStringBuilder -------------------- < public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object); < public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle); < public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer); < public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(long); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long); < public org.apache.commons.lang.builder.ToStringBuilder append(int); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int); < public org.apache.commons.lang.builder.ToStringBuilder append(short); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short); < public org.apache.commons.lang.builder.ToStringBuilder append(char); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char); --- > public static java.lang.String reflectionToString(java.lang.Object, org.apache.commons.lang.builder.ToStringStyle, boolean, java.lang.Class); > public static void setDefaultStyle(org.apache.commons.lang.builder.ToStringStyle); > public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object); > public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle); > public org.apache.commons.lang.builder.ToStringBuilder(java.lang.Object,org.apache.commons.lang.builder.ToStringStyle,java.lang.StringBuffer); > public org.apache.commons.lang.builder.ToStringBuilder append(boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte); --- > public org.apache.commons.lang.builder.ToStringBuilder append(byte[]); > public org.apache.commons.lang.builder.ToStringBuilder append(char); > public org.apache.commons.lang.builder.ToStringBuilder append(char[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double); --- > public org.apache.commons.lang.builder.ToStringBuilder append(double[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float); < public org.apache.commons.lang.builder.ToStringBuilder append(boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(long[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean); --- > public org.apache.commons.lang.builder.ToStringBuilder append(float[]); > public org.apache.commons.lang.builder.ToStringBuilder append(int); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean); --- > public org.apache.commons.lang.builder.ToStringBuilder append(long); > public org.apache.commons.lang.builder.ToStringBuilder append(long[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.Object[]); > public org.apache.commons.lang.builder.ToStringBuilder append(short); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(char[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean); < public org.apache.commons.lang.builder.ToStringBuilder append(byte[]); --- > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, byte); < public org.apache.commons.lang.builder.ToStringBuilder append(double[]); --- > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, char[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, double); < public org.apache.commons.lang.builder.ToStringBuilder append(float[]); --- > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, float); < public org.apache.commons.lang.builder.ToStringBuilder append(boolean[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[]); < public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, boolean[], boolean); --- > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, int[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, long[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object, boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, java.lang.Object[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[]); > public org.apache.commons.lang.builder.ToStringBuilder append(java.lang.String, short[], boolean); > public org.apache.commons.lang.builder.ToStringBuilder appendAsObjectToString(java.lang.Object); > public org.apache.commons.lang.builder.ToStringBuilder appendSuper(java.lang.String); > public org.apache.commons.lang.builder.ToStringBuilder appendToString(java.lang.String); > public org.apache.commons.lang.builder.ToStringStyle getStyle(); > public java.lang.Object getObject(); org.apache.commons.lang.builder.StandardToStringStyle -------------------- > public boolean isFieldSeparatorAtStart(); > public void setFieldSeparatorAtStart(boolean); > public boolean isFieldSeparatorAtEnd(); > public void setFieldSeparatorAtEnd(boolean); org.apache.commons.lang.builder.ToStringStyle -------------------- > public void appendSuper(java.lang.StringBuffer, java.lang.String); > public void appendToString(java.lang.StringBuffer, java.lang.String); > protected void removeLastFieldSeparator(java.lang.StringBuffer); > protected void reflectionAppendArrayDetail(java.lang.StringBuffer, java.lang.String, java.lang.Object); > protected void appendAsObjectToString(java.lang.StringBuffer, java.lang.Object); > protected boolean isFieldSeparatorAtStart(); > protected void setFieldSeparatorAtStart(boolean); > protected boolean isFieldSeparatorAtEnd(); > protected void setFieldSeparatorAtEnd(boolean); org.apache.commons.lang.builder.HashCodeBuilder -------------------- > public static int reflectionHashCode(int, int, java.lang.Object, boolean, java.lang.Class); > public org.apache.commons.lang.builder.HashCodeBuilder appendSuper(int); org.apache.commons.lang.builder.CompareToBuilder -------------------- > public static int reflectionCompare(java.lang.Object, java.lang.Object, boolean, java.lang.Class); > public org.apache.commons.lang.builder.CompareToBuilder appendSuper(int); > public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object, java.lang.Object, java.util.Comparator); > public org.apache.commons.lang.builder.CompareToBuilder append(java.lang.Object[], java.lang.Object[], java.util.Comparator); org.apache.commons.lang.builder.EqualsBuilder -------------------- > public static boolean reflectionEquals(java.lang.Object, java.lang.Object, boolean, java.lang.Class); > public org.apache.commons.lang.builder.EqualsBuilder appendSuper(boolean);