org.apache.commons.collections.map

Class PredicatedMap

Implemented Interfaces:
Map, Serializable
Known Direct Subclasses:
PredicatedSortedMap

public class PredicatedMap
extends org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
implements Serializable

Decorates another Map 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.

Map map = PredicatedSet.decorate(new HashMap(), NotNullPredicate.INSTANCE, null);

This class is Serializable from Commons Collections 3.1.

Version:
$Revision: 1.14 $ $Date: 2004/06/07 22:14:42 $
Authors:
Stephen Colebourne
Paul Jack
Since:
Commons Collections 3.0

Field Summary

protected Predicate
keyPredicate
The key predicate to use
protected Predicate
valuePredicate
The value predicate to use

Fields inherited from class org.apache.commons.collections.map.AbstractMapDecorator

map

Constructor Summary

PredicatedMap(Map map, Predicate keyPredicate, Predicate valuePredicate)
Constructor that wraps (not copies).

Method Summary

protected Object
checkSetValue(Object value)
Override to validate an object set into the map via setValue.
static Map
decorate(Map map, Predicate keyPredicate, Predicate valuePredicate)
Factory method to create a predicated (validating) map.
protected boolean
isSetValueChecking()
Override to only return true when there is a value transformer.
Object
put(Object key, Object value)
void
putAll(Map mapToCopy)
protected void
validate(Object key, Object value)
Validates a key value pair.

Methods inherited from class org.apache.commons.collections.map.AbstractInputCheckedMapDecorator

checkSetValue, entrySet, isSetValueChecking

Methods inherited from class org.apache.commons.collections.map.AbstractMapDecorator

clear, containsKey, containsValue, entrySet, equals, get, getMap, hashCode, isEmpty, keySet, put, putAll, remove, size, toString, values

Field Details

keyPredicate

protected final Predicate keyPredicate
The key predicate to use

valuePredicate

protected final Predicate valuePredicate
The value predicate to use

Constructor Details

PredicatedMap

protected PredicatedMap(Map map,
                        Predicate keyPredicate,
                        Predicate valuePredicate)
Constructor that wraps (not copies).
Parameters:
map - the map to decorate, must not be null
keyPredicate - the predicate to validate the keys, null means no check
valuePredicate - the predicate to validate to values, null means no check

Method Details

checkSetValue

protected Object checkSetValue(Object value)
Override to validate an object set into the map via setValue.
Overrides:
checkSetValue in interface org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
Parameters:
value - the value to validate
Since:
Commons Collections 3.1

decorate

public static Map decorate(Map map,
                           Predicate keyPredicate,
                           Predicate valuePredicate)
Factory method to create a predicated (validating) map.

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

Parameters:
map - the map to decorate, must not be null
keyPredicate - the predicate to validate the keys, null means no check
valuePredicate - the predicate to validate to values, null means no check

isSetValueChecking

protected boolean isSetValueChecking()
Override to only return true when there is a value transformer.
Overrides:
isSetValueChecking in interface org.apache.commons.collections.map.AbstractInputCheckedMapDecorator
Returns:
true if a value predicate is in use
Since:
Commons Collections 3.1

put

public Object put(Object key,
                  Object value)
Overrides:
put in interface AbstractMapDecorator

putAll

public void putAll(Map mapToCopy)
Overrides:
putAll in interface AbstractMapDecorator

validate

protected void validate(Object key,
                        Object value)
Validates a key value pair.
Parameters:
key - the key to validate
value - the value to validate

Copyright © 2001-2006 Apache Software Foundation. All Rights Reserved.