diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 3c0f7870c..6055709f0 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -173,6 +173,16 @@ TransformingComparator now supports different types for its input/output values. + + "DualTreeBidiMap" now uses the correct comparator for the reverse map during de-serialization. + + + "TransformedMap" in the package "splitmap" can now be serialized. + + + "CollectionUtils#filter(Iterable, Predicate)" will now return whether the collection + has been modified. + Add method "CollectionUtils#filterInverse(Iterable, Predicate)". @@ -180,6 +190,33 @@ "FilterListIterator#hasNext" does not throw a NullPointerException anymore to comply to the Java iterator specification. + + "ListUtils#intersection(List, List)" will now also work correctly if there + are duplicate elements in the provided lists. + + + "AbstractCollectionDecorator" will now use internally "decorated()" to access + the decorated collection. + + + Removed debug output in "MapUtils#getNumber(Map)". + + + Fixed javadoc for all "transformedXXX(XXX)" methods in the respective Utils classes + to clarify that existing objects in the list are not transformed. + + + Singleton classes in package "functors" are now correctly de-serialized. + + + "NOPClosure" is now a final class. + + + Removed broken methods "equals(Object)" and "hashCode()" in class "NOPClosure". + + + Simplified exceptions as the cause is available from the parent. + Fixed cache assignment for "TreeBidiMap#entrySet". @@ -194,9 +231,15 @@ Improve javadoc of "CollatingIterator" wrt the used "Comparator" and throw a NullPointerException in "CollatingIterator#least" if no comparator is set. + + "LRUMap#keySet()#remove(Object)" will not throw a "ConcurrentModificationException" anymore. + + + Improved performance of "ListUtils#intersection(List, List)". + - Added serialVersionUID fields for "ExtendedProperties", "CompositeCollection", - "CompositeSet", "EmptyMapMutator", "EmptySetMutator". + Added serialVersionUID fields for "CompositeCollection", "CompositeSet", + "EmptyMapMutator", "EmptySetMutator". Fields transformer and decorated in class "TransformingComparator" are now final. @@ -209,17 +252,64 @@ Added NodeListIterator and convenience methods in IteratorUtils to iterate over a org.w3c.dom.NodeList. + + Improved performance of "StaticBucketMap#putAll(Map)" by iterating over the entry set. + + + Avoid redundant null check in "IteratorUtils#getIterator(Object)". + + + Use a private method to populate the object in "AbstractHashedMap(Map)". + + + Fixed javadoc of "LRUMap" wrt to the maxSize parameter of the constructor. + + + Added new abstract class "CatchAndRethrowClosure" that re-throws any checked exception + as unchecked "FunctorException". + Use of final keyword where applicable, minor performance improvements by properly initializing the capacity of newly created collections when known in advance. + + "SetUniqueList#subList()#contains(Object)" will now correctly check the subList + rather than the parent list. + + + Added method "CollectionUtils#subtract(Iterable, Iterable, Predicate)". + + + "SetUniqueList#set(int, Object)" will now correctly enforce the uniqueness constraint. + + + Improved javadoc for "Unmodifiable*" classes wrt behavior when the users tries + to modify the collection. + + + Calling "CollectionUtils#sizeIsEmpty(null)" will now return true. + Added methods "CollectionUtils#merge(...)" to merge two sorted Collections into a sorted List using the standard O(n) merge algorithm. + + "CaseInsensitiveMap" will now convert input strings to lower-case in a + locale-independant manner. + Added support for using custom "Equator" objects in "EqualPredicate". + + Added method "CollatingIterator#getIteratorIndex()". + + + Fixed javadoc for "ListUtils#transformedList(List)" to clarify that existing objects + in the list are not transformed. + + + Added method "CollectionUtils#extractSingleton(Collection)". + Added serialization support for "TreeBidiMap". @@ -252,7 +342,7 @@ Removed unused variables in "TreeBidiMap". - + The static factory methods have been renamed from "getInstance()" to a camel-case version of the class name, e.g. "truePredicate()" for class "TruePredicate". @@ -276,7 +366,7 @@ Return concrete class in static factory methods instead of base class interface (except for Unmodifiable decorators). - + "CollectionUtils#size(Collection)" now returns 0 when called with null as input.