Class StringConverter
- java.lang.Object
-
- com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
-
- com.thoughtworks.xstream.converters.basic.StringConverter
-
- All Implemented Interfaces:
ConverterMatcher
,SingleValueConverter
public class StringConverter extends AbstractSingleValueConverter
Converts a String to a String ;).Well ok, it doesn't actually do any conversion. The converter uses by default a map with weak references to reuse instances of strings that do not exceed a length limit. This limit is by default 38 characters to cache typical strings containing UUIDs. Only shorter strings are typically repeated more often in XML values.
- Author:
- Joe Walnes, Rene Schwietzke, Jörg Schaible
-
-
Constructor Summary
Constructors Constructor Description StringConverter()
Construct a StringConverter using a cache with weak references for strings not exceeding 38 characters.StringConverter(int lengthLimit)
Construct a StringConverter using a cache with weak references for strings not exceeding the length limit.StringConverter(java.util.Map map)
Construct a StringConverter using a map-based cache for strings not exceeding 38 characters.StringConverter(java.util.Map map, int lengthLimit)
Construct a StringConverter using a map-based cache for strings not exceeding the length limit.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canConvert(java.lang.Class type)
Determines whether the converter can marshall a particular type.java.lang.Object
fromString(java.lang.String str)
Unmarshals an Object from its single value representation.-
Methods inherited from class com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
toString
-
-
-
-
Constructor Detail
-
StringConverter
public StringConverter(java.util.Map map, int lengthLimit)
Construct a StringConverter using a map-based cache for strings not exceeding the length limit.- Parameters:
map
- the map to use for the instances to reuse (may be null to not cache at all)lengthLimit
- maximum string length of a cached string, -1 to cache all, 0 to turn off the cache- Since:
- 1.4.2
-
StringConverter
public StringConverter(java.util.Map map)
Construct a StringConverter using a map-based cache for strings not exceeding 38 characters.- Parameters:
map
- the map to use for the instances to reuse (may be null to not cache at all)
-
StringConverter
public StringConverter(int lengthLimit)
Construct a StringConverter using a cache with weak references for strings not exceeding the length limit.- Parameters:
lengthLimit
- maximum string length of a cached string, -1 to cache all, 0 to turn off the cache- Since:
- 1.4.2
-
StringConverter
public StringConverter()
Construct a StringConverter using a cache with weak references for strings not exceeding 38 characters.
-
-
Method Detail
-
canConvert
public boolean canConvert(java.lang.Class type)
Description copied from interface:ConverterMatcher
Determines whether the converter can marshall a particular type.- Specified by:
canConvert
in interfaceConverterMatcher
- Specified by:
canConvert
in classAbstractSingleValueConverter
- Parameters:
type
- the Class representing the object type to be converted
-
fromString
public java.lang.Object fromString(java.lang.String str)
Description copied from interface:SingleValueConverter
Unmarshals an Object from its single value representation.- Specified by:
fromString
in interfaceSingleValueConverter
- Specified by:
fromString
in classAbstractSingleValueConverter
- Parameters:
str
- the String with the single value of the Object- Returns:
- the Object
-
-