Class PredicatedSortedMap
- java.lang.Object
-
- org.apache.commons.collections.map.AbstractMapDecorator
-
- org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
-
- org.apache.commons.collections.map.PredicatedMap
-
- org.apache.commons.collections.map.PredicatedSortedMap
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map
,java.util.SortedMap
public class PredicatedSortedMap extends PredicatedMap implements java.util.SortedMap
Decorates anotherSortedMap
to validate that additions match a specified predicate.This map exists to provide validation for the decorated map. It is normally created to decorate an empty map. If an object cannot be added to the map, an IllegalArgumentException is thrown.
One usage would be to ensure that no null keys are added to the map.
SortedMap map = PredicatedSortedSet.decorate(new TreeMap(), NotNullPredicate.INSTANCE, null);
Note that PredicatedSortedMap 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.This class 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) $
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
AbstractInputCheckedMapDecorator.EntrySet, AbstractInputCheckedMapDecorator.EntrySetIterator, AbstractInputCheckedMapDecorator.MapEntry
-
-
Field Summary
Fields Modifier and Type Field Description private static long
serialVersionUID
Serialization version-
Fields inherited from class org.apache.commons.collections.map.PredicatedMap
keyPredicate, valuePredicate
-
Fields inherited from class org.apache.commons.collections.map.AbstractMapDecorator
map
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PredicatedSortedMap(java.util.SortedMap map, Predicate keyPredicate, Predicate valuePredicate)
Constructor that wraps (not copies).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Comparator
comparator()
static java.util.SortedMap
decorate(java.util.SortedMap map, Predicate keyPredicate, Predicate valuePredicate)
Factory method to create a predicated (validating) sorted map.java.lang.Object
firstKey()
protected java.util.SortedMap
getSortedMap()
Gets the map being decorated.java.util.SortedMap
headMap(java.lang.Object toKey)
java.lang.Object
lastKey()
java.util.SortedMap
subMap(java.lang.Object fromKey, java.lang.Object toKey)
java.util.SortedMap
tailMap(java.lang.Object fromKey)
-
Methods inherited from class org.apache.commons.collections.map.PredicatedMap
checkSetValue, decorate, isSetValueChecking, put, putAll, validate
-
Methods inherited from class org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
entrySet
-
Methods inherited from class org.apache.commons.collections.map.AbstractMapDecorator
clear, containsKey, containsValue, equals, get, getMap, hashCode, isEmpty, keySet, remove, size, toString, values
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serialization version- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PredicatedSortedMap
protected PredicatedSortedMap(java.util.SortedMap map, Predicate keyPredicate, Predicate valuePredicate)
Constructor that wraps (not copies).- Parameters:
map
- the map to decorate, must not be nullkeyPredicate
- the predicate to validate the keys, null means no checkvaluePredicate
- the predicate to validate to values, null means no check- Throws:
java.lang.IllegalArgumentException
- if the map is null
-
-
Method Detail
-
decorate
public static java.util.SortedMap decorate(java.util.SortedMap map, Predicate keyPredicate, Predicate valuePredicate)
Factory method to create a predicated (validating) sorted map.If there are any elements already in the list being decorated, they are validated.
- Parameters:
map
- the map to decorate, must not be nullkeyPredicate
- the predicate to validate the keys, null means no checkvaluePredicate
- the predicate to validate to values, null means no check- Throws:
java.lang.IllegalArgumentException
- if the map is null
-
getSortedMap
protected java.util.SortedMap getSortedMap()
Gets the map being decorated.- Returns:
- the decorated map
-
firstKey
public java.lang.Object firstKey()
- Specified by:
firstKey
in interfacejava.util.SortedMap
-
lastKey
public java.lang.Object lastKey()
- Specified by:
lastKey
in interfacejava.util.SortedMap
-
comparator
public java.util.Comparator comparator()
- Specified by:
comparator
in interfacejava.util.SortedMap
-
subMap
public java.util.SortedMap subMap(java.lang.Object fromKey, java.lang.Object toKey)
- Specified by:
subMap
in interfacejava.util.SortedMap
-
headMap
public java.util.SortedMap headMap(java.lang.Object toKey)
- Specified by:
headMap
in interfacejava.util.SortedMap
-
tailMap
public java.util.SortedMap tailMap(java.lang.Object fromKey)
- Specified by:
tailMap
in interfacejava.util.SortedMap
-
-