org.codehaus.waffle.bind.converters
Class AbstractValueConverter

java.lang.Object
  extended by org.codehaus.waffle.bind.converters.AbstractValueConverter
All Implemented Interfaces:
ValueConverter
Direct Known Subclasses:
DateValueConverter, NumberValueConverter, StringListMapValueConverter, StringListValueConverter

public abstract class AbstractValueConverter
extends java.lang.Object
implements ValueConverter

Abstract ValueConverter that holds utility functionality common to all value converters.

Author:
Mauro Talevi

Constructor Summary
protected AbstractValueConverter(MessageResources messageResources, java.util.Properties patterns)
           
 
Method Summary
protected  boolean acceptList(java.lang.reflect.Type type, java.lang.Class<?> listArgumentClass)
          Accepts parameterized types of List
protected  boolean acceptMapOfLists(java.lang.reflect.Type type, java.lang.Class<?> keyArgumentClass, java.lang.Class<?> listArgumentClass)
          Accepts parameterized types of type Map>
 void changePatterns(java.util.Properties patterns)
           
protected  java.lang.Object convertMissingValue(java.lang.String key, java.lang.String defaultMessage, java.lang.Object... parameters)
          Handles the case of a missing value.
 java.util.Properties getPatterns()
           
protected  boolean matches(java.lang.String value, java.lang.String regex)
           
protected  java.lang.String messageFor(java.lang.String key, java.lang.String defaultMessage, java.lang.Object... parameters)
           
protected  boolean missingValue(java.lang.String value)
          Determines if the value is missing.
protected  BindException newBindException(java.lang.String key, java.lang.String defaultMessage, java.lang.Object... parameters)
           
protected  java.lang.String patternFor(java.lang.String key, java.lang.String defaultPattern)
           
protected  java.util.List<java.lang.String> split(java.lang.String value, java.lang.String separator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.codehaus.waffle.bind.ValueConverter
accept, convertValue
 

Constructor Detail

AbstractValueConverter

protected AbstractValueConverter(MessageResources messageResources,
                                 java.util.Properties patterns)
Method Detail

missingValue

protected boolean missingValue(java.lang.String value)
Determines if the value is missing.

Parameters:
value - the String value
Returns:
A boolean, true if value is null or trimmed length is 0.

convertMissingValue

protected java.lang.Object convertMissingValue(java.lang.String key,
                                               java.lang.String defaultMessage,
                                               java.lang.Object... parameters)
Handles the case of a missing value. By default it return a null converted value, but can be overridden to throw a BindException

Parameters:
key - the error message key
defaultMessage - the default message if key is not found
parameters - the message formatting parameters
Returns:
A converted object when value is missing, null by default.

acceptList

protected boolean acceptList(java.lang.reflect.Type type,
                             java.lang.Class<?> listArgumentClass)
Accepts parameterized types of List

Parameters:
type - the Type to accept or reject
listArgumentClass - the List argument class

acceptMapOfLists

protected boolean acceptMapOfLists(java.lang.reflect.Type type,
                                   java.lang.Class<?> keyArgumentClass,
                                   java.lang.Class<?> listArgumentClass)
Accepts parameterized types of type Map>

Parameters:
type - the Type to accept or reject
keyArgumentClass - the Map key argument class
listArgumentClass - the List argument class

newBindException

protected BindException newBindException(java.lang.String key,
                                         java.lang.String defaultMessage,
                                         java.lang.Object... parameters)

messageFor

protected java.lang.String messageFor(java.lang.String key,
                                      java.lang.String defaultMessage,
                                      java.lang.Object... parameters)

matches

protected boolean matches(java.lang.String value,
                          java.lang.String regex)

patternFor

protected java.lang.String patternFor(java.lang.String key,
                                      java.lang.String defaultPattern)

getPatterns

public java.util.Properties getPatterns()

changePatterns

public void changePatterns(java.util.Properties patterns)

split

protected java.util.List<java.lang.String> split(java.lang.String value,
                                                 java.lang.String separator)


Copyright © 2008. All Rights Reserved.