Package com.cedarsoftware.util
Class SafeSimpleDateFormat
- java.lang.Object
-
- java.text.Format
-
- java.text.DateFormat
-
- com.cedarsoftware.util.SafeSimpleDateFormat
-
- All Implemented Interfaces:
Serializable
,Cloneable
public class SafeSimpleDateFormat extends DateFormat
This class implements a Thread-Safe (re-entrant) SimpleDateFormat class. It does this by using a ThreadLocal that holds a Map, instead of the traditional approach to hold the SimpleDateFormat in a ThreadLocal. Each ThreadLocal holds a single HashMap containing SimpleDateFormats, keyed by a String format (e.g. "yyyy/M/d", etc.), for each new SimpleDateFormat instance that was created within the threads execution context.- Author:
- John DeRegnaucourt ([email protected])
Copyright (c) Cedar Software LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.text.DateFormat
DateFormat.Field
-
-
Field Summary
-
Fields inherited from class java.text.DateFormat
AM_PM_FIELD, calendar, DATE_FIELD, DAY_OF_WEEK_FIELD, DAY_OF_WEEK_IN_MONTH_FIELD, DAY_OF_YEAR_FIELD, DEFAULT, ERA_FIELD, FULL, HOUR_OF_DAY0_FIELD, HOUR_OF_DAY1_FIELD, HOUR0_FIELD, HOUR1_FIELD, LONG, MEDIUM, MILLISECOND_FIELD, MINUTE_FIELD, MONTH_FIELD, numberFormat, SECOND_FIELD, SHORT, TIMEZONE_FIELD, WEEK_OF_MONTH_FIELD, WEEK_OF_YEAR_FIELD, YEAR_FIELD
-
-
Constructor Summary
Constructors Constructor Description SafeSimpleDateFormat(String format)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StringBuffer
format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)
static SimpleDateFormat
getDateFormat(String format)
Date
parse(String source, ParsePosition pos)
void
set2DigitYearStart(Date date)
void
setCalendar(Calendar cal)
void
setDateFormatSymbols(DateFormatSymbols symbols)
void
setLenient(boolean lenient)
void
setNumberFormat(NumberFormat format)
void
setTimeZone(TimeZone tz)
-
Methods inherited from class java.text.DateFormat
clone, equals, format, format, getAvailableLocales, getCalendar, getDateInstance, getDateInstance, getDateInstance, getDateTimeInstance, getDateTimeInstance, getDateTimeInstance, getInstance, getNumberFormat, getTimeInstance, getTimeInstance, getTimeInstance, getTimeZone, hashCode, isLenient, parse, parseObject
-
Methods inherited from class java.text.Format
format, formatToCharacterIterator, parseObject
-
-
-
-
Constructor Detail
-
SafeSimpleDateFormat
public SafeSimpleDateFormat(String format)
-
-
Method Detail
-
getDateFormat
public static SimpleDateFormat getDateFormat(String format)
-
format
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)
- Specified by:
format
in classDateFormat
-
parse
public Date parse(String source, ParsePosition pos)
- Specified by:
parse
in classDateFormat
-
setTimeZone
public void setTimeZone(TimeZone tz)
- Overrides:
setTimeZone
in classDateFormat
-
setCalendar
public void setCalendar(Calendar cal)
- Overrides:
setCalendar
in classDateFormat
-
setNumberFormat
public void setNumberFormat(NumberFormat format)
- Overrides:
setNumberFormat
in classDateFormat
-
setLenient
public void setLenient(boolean lenient)
- Overrides:
setLenient
in classDateFormat
-
setDateFormatSymbols
public void setDateFormatSymbols(DateFormatSymbols symbols)
-
set2DigitYearStart
public void set2DigitYearStart(Date date)
-
-