Class ThreadSafeSimpleDateFormat
- java.lang.Object
-
- com.thoughtworks.xstream.core.util.ThreadSafeSimpleDateFormat
-
public class ThreadSafeSimpleDateFormat extends java.lang.ObjectWrapper around java.text.SimpleDateFormat that can be called by multiple threads concurrently.SimpleDateFormat has a high overhead in creating and is not thread safe. To make best use of resources, the ThreadSafeSimpleDateFormat provides a dynamically sizing pool of instances, each of which will only be called by a single thread at a time.
The pool has a maximum capacity, to limit overhead. If all instances in the pool are in use and another is required, it shall block until one becomes available.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringformatStringprivate Poolpoolprivate java.util.TimeZonetimeZone
-
Constructor Summary
Constructors Constructor Description ThreadSafeSimpleDateFormat(java.lang.String format, java.util.TimeZone timeZone, int initialPoolSize, int maxPoolSize, boolean lenient)ThreadSafeSimpleDateFormat(java.lang.String format, java.util.TimeZone timeZone, java.util.Locale locale, int initialPoolSize, int maxPoolSize, boolean lenient)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.text.DateFormatfetchFromPool()java.lang.Stringformat(java.util.Date date)java.util.Dateparse(java.lang.String date)java.lang.StringtoString()
-
-
-
Field Detail
-
formatString
private final java.lang.String formatString
-
pool
private final Pool pool
-
timeZone
private final java.util.TimeZone timeZone
-
-
Constructor Detail
-
ThreadSafeSimpleDateFormat
public ThreadSafeSimpleDateFormat(java.lang.String format, java.util.TimeZone timeZone, int initialPoolSize, int maxPoolSize, boolean lenient)
-
ThreadSafeSimpleDateFormat
public ThreadSafeSimpleDateFormat(java.lang.String format, java.util.TimeZone timeZone, java.util.Locale locale, int initialPoolSize, int maxPoolSize, boolean lenient)
-
-
Method Detail
-
format
public java.lang.String format(java.util.Date date)
-
parse
public java.util.Date parse(java.lang.String date) throws java.text.ParseException- Throws:
java.text.ParseException
-
fetchFromPool
private java.text.DateFormat fetchFromPool()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-