com.thoughtworks.xstream.converters.basic
Class StringConverter

java.lang.Object
  extended by com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
      extended by 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
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(Map map)
          Construct a StringConverter using a map-based cache for strings not exceeding 38 characters.
StringConverter(Map map, int lengthLimit)
          Construct a StringConverter using a map-based cache for strings not exceeding the length limit.
 
Method Summary
 boolean canConvert(Class type)
          Determines whether the converter can marshall a particular type.
 Object fromString(String str)
          Unmarshals an Object from its single value representation.
 
Methods inherited from class com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StringConverter

public StringConverter(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(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(Class type)
Description copied from interface: ConverterMatcher
Determines whether the converter can marshall a particular type.

Specified by:
canConvert in interface ConverterMatcher
Specified by:
canConvert in class AbstractSingleValueConverter
Parameters:
type - the Class representing the object type to be converted

fromString

public Object fromString(String str)
Description copied from interface: SingleValueConverter
Unmarshals an Object from its single value representation.

Specified by:
fromString in interface SingleValueConverter
Specified by:
fromString in class AbstractSingleValueConverter
Parameters:
str - the String with the single value of the Object
Returns:
the Object


Copyright © 2004-2014 XStream. All Rights Reserved.