Class TypedSortedMap

java.lang.Object
org.apache.commons.collections.map.TypedSortedMap

public class TypedSortedMap extends Object
Decorates another SortedMap to validate that elements added are of a specific type.

The validation of additions is performed via an instanceof test against a specified Class. If an object cannot be added to the collection, an IllegalArgumentException is thrown.

Note that TypedSortedMap is not synchronized and is not thread-safe. If you wish to use this map from multiple threads concurrently, you must use appropriate synchronization. The simplest approach is to wrap this map using Collections.synchronizedSortedMap(java.util.SortedMap<K, V>). This class may throw exceptions when accessed by concurrent threads without synchronization.

The returned implementation is Serializable from Commons Collections 3.1.

Since:
Commons Collections 3.0
Version:
$Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
Author:
Stephen Colebourne, Matthew Hawthorne
  • Constructor Details

    • TypedSortedMap

      protected TypedSortedMap()
      Restrictive constructor.
  • Method Details

    • decorate

      public static SortedMap decorate(SortedMap map, Class keyType, Class valueType)
      Factory method to create a typed sorted map.

      If there are any elements already in the map being decorated, they are validated.

      Parameters:
      map - the map to decorate, must not be null
      keyType - the type to allow as keys, must not be null
      valueType - the type to allow as values, must not be null
      Throws:
      IllegalArgumentException - if list or type is null
      IllegalArgumentException - if the list contains invalid elements