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 booleancanConvert(java.lang.Class type)Determines whether the converter can marshall a particular type.java.lang.ObjectfromString(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:ConverterMatcherDetermines whether the converter can marshall a particular type.- Specified by:
canConvertin interfaceConverterMatcher- Specified by:
canConvertin 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:SingleValueConverterUnmarshals an Object from its single value representation.- Specified by:
fromStringin interfaceSingleValueConverter- Specified by:
fromStringin classAbstractSingleValueConverter- Parameters:
str- the String with the single value of the Object- Returns:
- the Object
-
-