Spring Web Flow

org.springframework.webflow.core.collection
Class LocalParameterMap

java.lang.Object
  extended by org.springframework.webflow.core.collection.LocalParameterMap
All Implemented Interfaces:
java.io.Serializable, MapAdaptable<java.lang.String,java.lang.Object>, ParameterMap
Direct Known Subclasses:
MockParameterMap

public class LocalParameterMap
extends java.lang.Object
implements ParameterMap, java.io.Serializable

An immutable parameter map storing String-keyed, String-valued parameters in a backing Map implementation. This base provides convenient operations for accessing parameters in a typed-manner.

Author:
Keith Donald
See Also:
Serialized Form

Constructor Summary
LocalParameterMap(java.util.Map<java.lang.String,java.lang.Object> parameters)
          Creates a new parameter map from the provided map.
LocalParameterMap(java.util.Map<java.lang.String,java.lang.Object> parameters, ConversionService conversionService)
          Creates a new parameter map from the provided map.
 
Method Summary
 AttributeMap<java.lang.Object> asAttributeMap()
          Adapts this parameter map to an AttributeMap.
 java.util.Map<java.lang.String,java.lang.Object> asMap()
          Returns this object's contents as a Map.
 boolean contains(java.lang.String parameterName)
          Does the parameter with the provided name exist in this map?
 boolean equals(java.lang.Object o)
           
 java.lang.String get(java.lang.String parameterName)
          Get a parameter value, returning null if no value is found.
<T> T
get(java.lang.String parameterName, java.lang.Class<T> targetType)
          Get a parameter value, converting it from String to the target type.
<T> T
get(java.lang.String parameterName, java.lang.Class<T> targetType, T defaultValue)
          Get a parameter value, converting it from String to the target type or returning the defaultValue if not found.
 java.lang.String get(java.lang.String parameterName, java.lang.String defaultValue)
          Get a parameter value, returning the defaultValue if no value is found.
 java.lang.String[] getArray(java.lang.String parameterName)
          Get a multi-valued parameter value, returning null if no value is found.
<T> T[]
getArray(java.lang.String parameterName, java.lang.Class<T> targetElementType)
          Get a multi-valued parameter value, converting each value to the target type or returning null if no value is found.
 java.lang.Boolean getBoolean(java.lang.String parameterName)
          Returns a boolean parameter value in the map, returning null if no value was found.
 java.lang.Boolean getBoolean(java.lang.String parameterName, java.lang.Boolean defaultValue)
          Returns a boolean parameter value in the map, returning the defaultValue if no value was found.
 java.lang.Integer getInteger(java.lang.String parameterName)
          Returns an integer parameter value in the map, returning null if no value was found.
 java.lang.Integer getInteger(java.lang.String parameterName, java.lang.Integer defaultValue)
          Returns an integer parameter value in the map, returning the defaultValue if no value was found.
 java.lang.Long getLong(java.lang.String parameterName)
          Returns a long parameter value in the map, returning null if no value was found.
 java.lang.Long getLong(java.lang.String parameterName, java.lang.Long defaultValue)
          Returns a long parameter value in the map, returning the defaultValue if no value was found.
protected  java.util.Map<java.lang.String,java.lang.Object> getMapInternal()
          Returns the wrapped, modifiable map implementation.
 org.springframework.web.multipart.MultipartFile getMultipartFile(java.lang.String parameterName)
          Get a multi-part file parameter value, returning null if no value is found.
<T extends java.lang.Number>
T
getNumber(java.lang.String parameterName, java.lang.Class<T> targetType)
          Returns a number parameter value in the map that is of the specified type, returning null if no value was found.
<T extends java.lang.Number>
T
getNumber(java.lang.String parameterName, java.lang.Class<T> targetType, T defaultValue)
          Returns a number parameter value in the map of the specified type, returning the defaultValue if no value was found.
 java.lang.String getRequired(java.lang.String parameterName)
          Get the value of a required parameter.
<T> T
getRequired(java.lang.String parameterName, java.lang.Class<T> targetType)
          Get the value of a required parameter and convert it to the target type.
 java.lang.String[] getRequiredArray(java.lang.String parameterName)
          Get a required multi-valued parameter value.
<T> T[]
getRequiredArray(java.lang.String parameterName, java.lang.Class<T> targetElementType)
          Get a required multi-valued parameter value, converting each value to the target type.
 java.lang.Boolean getRequiredBoolean(java.lang.String parameterName)
          Returns a boolean parameter value in the map, throwing an exception if the parameter is not present or could not be converted.
 java.lang.Integer getRequiredInteger(java.lang.String parameterName)
          Returns an integer parameter value in the map, throwing an exception if the parameter is not present or could not be converted.
 java.lang.Long getRequiredLong(java.lang.String parameterName)
          Returns a long parameter value in the map, throwing an exception if the parameter is not present or could not be converted.
 org.springframework.web.multipart.MultipartFile getRequiredMultipartFile(java.lang.String parameterName)
          Get the value of a required multipart file parameter.
<T extends java.lang.Number>
T
getRequiredNumber(java.lang.String parameterName, java.lang.Class<T> targetType)
          Returns a number parameter value in the map, throwing an exception if the parameter is not present or could not be converted.
 int hashCode()
           
protected  void initParameters(java.util.Map<java.lang.String,java.lang.Object> parameters)
          Initializes this parameter map.
 boolean isEmpty()
          Is this parameter map empty, with a size of 0?
 int size()
          Returns the number of parameters in this map.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LocalParameterMap

public LocalParameterMap(java.util.Map<java.lang.String,java.lang.Object> parameters)
Creates a new parameter map from the provided map.

It is expected that the contents of the backing map adhere to the parameter map contract; that is, map entries have string keys, string values, and remain unmodifiable.

Parameters:
parameters - the contents of this parameter map

LocalParameterMap

public LocalParameterMap(java.util.Map<java.lang.String,java.lang.Object> parameters,
                         ConversionService conversionService)
Creates a new parameter map from the provided map.

It is expected that the contents of the backing map adhere to the parameter map contract; that is, map entries have string keys, string values, and remain unmodifiable.

Parameters:
parameters - the contents of this parameter map
conversionService - a helper for performing type conversion of map entry values
Method Detail

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

asMap

public java.util.Map<java.lang.String,java.lang.Object> asMap()
Description copied from interface: MapAdaptable
Returns this object's contents as a Map. The returned map may or may not be modifiable depending on this implementation.

Warning: this operation may be called frequently; if so care should be taken so that the map contents (if calculated) be cached as appropriate.

Specified by:
asMap in interface MapAdaptable<java.lang.String,java.lang.Object>
Returns:
the object's contents as a map

isEmpty

public boolean isEmpty()
Description copied from interface: ParameterMap
Is this parameter map empty, with a size of 0?

Specified by:
isEmpty in interface ParameterMap
Returns:
true if empty, false if not

size

public int size()
Description copied from interface: ParameterMap
Returns the number of parameters in this map.

Specified by:
size in interface ParameterMap
Returns:
the parameter count

contains

public boolean contains(java.lang.String parameterName)
Description copied from interface: ParameterMap
Does the parameter with the provided name exist in this map?

Specified by:
contains in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
true if so, false otherwise

get

public java.lang.String get(java.lang.String parameterName)
Description copied from interface: ParameterMap
Get a parameter value, returning null if no value is found.

Specified by:
get in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the parameter value

get

public java.lang.String get(java.lang.String parameterName,
                            java.lang.String defaultValue)
Description copied from interface: ParameterMap
Get a parameter value, returning the defaultValue if no value is found.

Specified by:
get in interface ParameterMap
Parameters:
parameterName - the parameter name
defaultValue - the default
Returns:
the parameter value

getArray

public java.lang.String[] getArray(java.lang.String parameterName)
Description copied from interface: ParameterMap
Get a multi-valued parameter value, returning null if no value is found. If the parameter is single valued an array with a single element is returned.

Specified by:
getArray in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the parameter value array

getArray

public <T> T[] getArray(java.lang.String parameterName,
                        java.lang.Class<T> targetElementType)
             throws ConversionExecutionException
Description copied from interface: ParameterMap
Get a multi-valued parameter value, converting each value to the target type or returning null if no value is found.

Specified by:
getArray in interface ParameterMap
Parameters:
parameterName - the parameter name
targetElementType - the target type of the array's elements
Returns:
the converterd parameter value array
Throws:
ConversionExecutionException - when the value could not be converted

get

public <T> T get(java.lang.String parameterName,
                 java.lang.Class<T> targetType)
      throws ConversionExecutionException
Description copied from interface: ParameterMap
Get a parameter value, converting it from String to the target type.

Specified by:
get in interface ParameterMap
Parameters:
parameterName - the name of the parameter
targetType - the target type of the parameter value
Returns:
the converted parameter value, or null if not found
Throws:
ConversionExecutionException - when the value could not be converted

get

public <T> T get(java.lang.String parameterName,
                 java.lang.Class<T> targetType,
                 T defaultValue)
      throws ConversionExecutionException
Description copied from interface: ParameterMap
Get a parameter value, converting it from String to the target type or returning the defaultValue if not found.

Specified by:
get in interface ParameterMap
Parameters:
parameterName - name of the parameter to get
targetType - the target type of the parameter value
defaultValue - the default value
Returns:
the converted parameter value, or the default if not found
Throws:
ConversionExecutionException - when a value could not be converted

getRequired

public java.lang.String getRequired(java.lang.String parameterName)
                             throws java.lang.IllegalArgumentException
Description copied from interface: ParameterMap
Get the value of a required parameter.

Specified by:
getRequired in interface ParameterMap
Parameters:
parameterName - the name of the parameter
Returns:
the parameter value
Throws:
java.lang.IllegalArgumentException - when the parameter is not found

getRequiredArray

public java.lang.String[] getRequiredArray(java.lang.String parameterName)
                                    throws java.lang.IllegalArgumentException
Description copied from interface: ParameterMap
Get a required multi-valued parameter value.

Specified by:
getRequiredArray in interface ParameterMap
Parameters:
parameterName - the name of the parameter
Returns:
the parameter value
Throws:
java.lang.IllegalArgumentException - when the parameter is not found

getRequiredArray

public <T> T[] getRequiredArray(java.lang.String parameterName,
                                java.lang.Class<T> targetElementType)
                     throws java.lang.IllegalArgumentException,
                            ConversionExecutionException
Description copied from interface: ParameterMap
Get a required multi-valued parameter value, converting each value to the target type.

Specified by:
getRequiredArray in interface ParameterMap
Parameters:
parameterName - the name of the parameter
Returns:
the parameter value
Throws:
java.lang.IllegalArgumentException - when the parameter is not found
ConversionExecutionException - when a value could not be converted

getRequired

public <T> T getRequired(java.lang.String parameterName,
                         java.lang.Class<T> targetType)
              throws java.lang.IllegalArgumentException,
                     ConversionExecutionException
Description copied from interface: ParameterMap
Get the value of a required parameter and convert it to the target type.

Specified by:
getRequired in interface ParameterMap
Parameters:
parameterName - the name of the parameter
targetType - the target type of the parameter value
Returns:
the converted parameter value
Throws:
java.lang.IllegalArgumentException - when the parameter is not found
ConversionExecutionException - when the value could not be converted

getNumber

public <T extends java.lang.Number> T getNumber(java.lang.String parameterName,
                                                java.lang.Class<T> targetType)
                                     throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a number parameter value in the map that is of the specified type, returning null if no value was found.

Specified by:
getNumber in interface ParameterMap
Parameters:
parameterName - the parameter name
targetType - the target number type
Returns:
the number parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getNumber

public <T extends java.lang.Number> T getNumber(java.lang.String parameterName,
                                                java.lang.Class<T> targetType,
                                                T defaultValue)
                                     throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a number parameter value in the map of the specified type, returning the defaultValue if no value was found.

Specified by:
getNumber in interface ParameterMap
Parameters:
parameterName - the parameter name
defaultValue - the default
Returns:
the number parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getRequiredNumber

public <T extends java.lang.Number> T getRequiredNumber(java.lang.String parameterName,
                                                        java.lang.Class<T> targetType)
                                             throws java.lang.IllegalArgumentException,
                                                    ConversionExecutionException
Description copied from interface: ParameterMap
Returns a number parameter value in the map, throwing an exception if the parameter is not present or could not be converted.

Specified by:
getRequiredNumber in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the number parameter value
Throws:
java.lang.IllegalArgumentException - if the parameter is not present
ConversionExecutionException - when the value could not be converted

getInteger

public java.lang.Integer getInteger(java.lang.String parameterName)
                             throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns an integer parameter value in the map, returning null if no value was found.

Specified by:
getInteger in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the integer parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getInteger

public java.lang.Integer getInteger(java.lang.String parameterName,
                                    java.lang.Integer defaultValue)
                             throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns an integer parameter value in the map, returning the defaultValue if no value was found.

Specified by:
getInteger in interface ParameterMap
Parameters:
parameterName - the parameter name
defaultValue - the default
Returns:
the integer parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getRequiredInteger

public java.lang.Integer getRequiredInteger(java.lang.String parameterName)
                                     throws java.lang.IllegalArgumentException,
                                            ConversionExecutionException
Description copied from interface: ParameterMap
Returns an integer parameter value in the map, throwing an exception if the parameter is not present or could not be converted.

Specified by:
getRequiredInteger in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the integer parameter value
Throws:
java.lang.IllegalArgumentException - if the parameter is not present
ConversionExecutionException - when the value could not be converted

getLong

public java.lang.Long getLong(java.lang.String parameterName)
                       throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a long parameter value in the map, returning null if no value was found.

Specified by:
getLong in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the long parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getLong

public java.lang.Long getLong(java.lang.String parameterName,
                              java.lang.Long defaultValue)
                       throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a long parameter value in the map, returning the defaultValue if no value was found.

Specified by:
getLong in interface ParameterMap
Parameters:
parameterName - the parameter name
defaultValue - the default
Returns:
the long parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getRequiredLong

public java.lang.Long getRequiredLong(java.lang.String parameterName)
                               throws java.lang.IllegalArgumentException,
                                      ConversionExecutionException
Description copied from interface: ParameterMap
Returns a long parameter value in the map, throwing an exception if the parameter is not present or could not be converted.

Specified by:
getRequiredLong in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the long parameter value
Throws:
java.lang.IllegalArgumentException - if the parameter is not present
ConversionExecutionException - when the value could not be converted

getBoolean

public java.lang.Boolean getBoolean(java.lang.String parameterName)
                             throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a boolean parameter value in the map, returning null if no value was found.

Specified by:
getBoolean in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the long parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getBoolean

public java.lang.Boolean getBoolean(java.lang.String parameterName,
                                    java.lang.Boolean defaultValue)
                             throws ConversionExecutionException
Description copied from interface: ParameterMap
Returns a boolean parameter value in the map, returning the defaultValue if no value was found.

Specified by:
getBoolean in interface ParameterMap
Parameters:
parameterName - the parameter name
defaultValue - the default
Returns:
the boolean parameter value
Throws:
ConversionExecutionException - when the value could not be converted

getRequiredBoolean

public java.lang.Boolean getRequiredBoolean(java.lang.String parameterName)
                                     throws java.lang.IllegalArgumentException,
                                            ConversionExecutionException
Description copied from interface: ParameterMap
Returns a boolean parameter value in the map, throwing an exception if the parameter is not present or could not be converted.

Specified by:
getRequiredBoolean in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the boolean parameter value
Throws:
java.lang.IllegalArgumentException - if the parameter is not present
ConversionExecutionException - when the value could not be converted

getMultipartFile

public org.springframework.web.multipart.MultipartFile getMultipartFile(java.lang.String parameterName)
Description copied from interface: ParameterMap
Get a multi-part file parameter value, returning null if no value is found.

Specified by:
getMultipartFile in interface ParameterMap
Parameters:
parameterName - the parameter name
Returns:
the multipart file

getRequiredMultipartFile

public org.springframework.web.multipart.MultipartFile getRequiredMultipartFile(java.lang.String parameterName)
                                                                         throws java.lang.IllegalArgumentException
Description copied from interface: ParameterMap
Get the value of a required multipart file parameter.

Specified by:
getRequiredMultipartFile in interface ParameterMap
Parameters:
parameterName - the name of the parameter
Returns:
the parameter value
Throws:
java.lang.IllegalArgumentException - when the parameter is not found

asAttributeMap

public AttributeMap<java.lang.Object> asAttributeMap()
Description copied from interface: ParameterMap
Adapts this parameter map to an AttributeMap.

Specified by:
asAttributeMap in interface ParameterMap
Returns:
the underlying map as a unmodifiable attribute map

initParameters

protected void initParameters(java.util.Map<java.lang.String,java.lang.Object> parameters)
Initializes this parameter map.

Parameters:
parameters - the parameters

getMapInternal

protected java.util.Map<java.lang.String,java.lang.Object> getMapInternal()
Returns the wrapped, modifiable map implementation.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

Spring Web Flow