com.opensymphony.xwork2.conversion.impl
Class XWorkBasicConverter
java.lang.Object
com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter
com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter
- All Implemented Interfaces:
- TypeConverter
public class XWorkBasicConverter
- extends DefaultTypeConverter
XWork will automatically handle the most common type conversion for you. This includes support for converting to
and from Strings for each of the following:
- String
- boolean / Boolean
- char / Character
- int / Integer, float / Float, long / Long, double / Double
- dates - uses the SHORT format for the Locale associated with the current request
- arrays - assuming the individual strings can be coverted to the individual items
- collections - if not object type can be determined, it is assumed to be a String and a new ArrayList is
created
Note that with arrays the type conversion will defer to the type of the array elements and try to convert each
item individually. As with any other type conversion, if the conversion can't be performed the standard type
conversion error reporting is used to indicate a problem occured while processing the type conversion.
- Author:
- Pat Lightbody, Mike Mosiewicz, Rainer Hermanns, Alexandru Popescu
Method Summary |
Object |
convertValue(Map context,
Object o,
Member member,
String s,
Object value,
Class toType)
Converts the given value to a given type. |
private Collection |
createCollection(Object fromObject,
String propertyName,
Class toType,
Class memberType,
int size)
Creates a Collection of the specified type. |
private String |
doConvertFromNumberToString(Map context,
Object value,
Class toType)
Converts the input as a number using java's number formatter to a string output. |
private Object |
doConvertToArray(Map context,
Object o,
Member member,
String s,
Object value,
Class toType)
|
private Object |
doConvertToBoolean(Object value)
|
private Object |
doConvertToCharacter(Object value)
|
private Class |
doConvertToClass(Object value)
|
private Collection |
doConvertToCollection(Map context,
Object o,
Member member,
String prop,
Object value,
Class toType)
|
private Object |
doConvertToDate(Map context,
Object value,
Class toType)
|
private Object |
doConvertToNumber(Map context,
Object value,
Class toType)
|
private String |
doConvertToString(Map context,
Object value)
|
private Locale |
getLocale(Map context)
|
protected boolean |
isIntegerType(Class type)
|
void |
setObjectFactory(ObjectFactory fac)
|
void |
setObjectTypeDeterminer(ObjectTypeDeterminer det)
|
void |
setXWorkConverter(XWorkConverter conv)
|
Methods inherited from class com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter |
bigDecValue, bigIntValue, booleanValue, convertValue, convertValue, doubleValue, enumValue, getTypeConverter, longValue, stringValue, stringValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MILLISECOND_FORMAT
private static String MILLISECOND_FORMAT
objectTypeDeterminer
private ObjectTypeDeterminer objectTypeDeterminer
xworkConverter
private XWorkConverter xworkConverter
objectFactory
private ObjectFactory objectFactory
XWorkBasicConverter
public XWorkBasicConverter()
setObjectTypeDeterminer
public void setObjectTypeDeterminer(ObjectTypeDeterminer det)
setXWorkConverter
public void setXWorkConverter(XWorkConverter conv)
setObjectFactory
public void setObjectFactory(ObjectFactory fac)
convertValue
public Object convertValue(Map context,
Object o,
Member member,
String s,
Object value,
Class toType)
- Description copied from interface:
TypeConverter
- Converts the given value to a given type. The OGNL context, target, member and
name of property being set are given. This method should be able to handle
conversion in general without any context, target, member or property name specified.
- Specified by:
convertValue
in interface TypeConverter
- Overrides:
convertValue
in class DefaultTypeConverter
- Parameters:
context
- context under which the conversion is being doneo
- target object in which the property is being setmember
- member (Constructor, Method or Field) being sets
- property name being setvalue
- value to be convertedtoType
- type to which value is converted
- Returns:
- Converted value of type toType or TypeConverter.NoConversionPossible to indicate that the
conversion was not possible.
getLocale
private Locale getLocale(Map context)
createCollection
private Collection createCollection(Object fromObject,
String propertyName,
Class toType,
Class memberType,
int size)
- Creates a Collection of the specified type.
- Parameters:
fromObject
- propertyName
- toType
- the type of Collection to creatememberType
- the type of object elements in this collection must besize
- the initial size of the collection (ignored if 0 or less)
- Returns:
- a Collection of the specified type
doConvertToArray
private Object doConvertToArray(Map context,
Object o,
Member member,
String s,
Object value,
Class toType)
doConvertToCharacter
private Object doConvertToCharacter(Object value)
doConvertToBoolean
private Object doConvertToBoolean(Object value)
doConvertToClass
private Class doConvertToClass(Object value)
doConvertToCollection
private Collection doConvertToCollection(Map context,
Object o,
Member member,
String prop,
Object value,
Class toType)
doConvertToDate
private Object doConvertToDate(Map context,
Object value,
Class toType)
doConvertToNumber
private Object doConvertToNumber(Map context,
Object value,
Class toType)
isIntegerType
protected boolean isIntegerType(Class type)
doConvertFromNumberToString
private String doConvertFromNumberToString(Map context,
Object value,
Class toType)
- Converts the input as a number using java's number formatter to a string output.
doConvertToString
private String doConvertToString(Map context,
Object value)
Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.