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 StringBufferformat(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)static SimpleDateFormatgetDateFormat(String format)Dateparse(String source, ParsePosition pos)voidset2DigitYearStart(Date date)voidsetCalendar(Calendar cal)voidsetDateFormatSymbols(DateFormatSymbols symbols)voidsetLenient(boolean lenient)voidsetNumberFormat(NumberFormat format)voidsetTimeZone(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:
formatin classDateFormat
-
parse
public Date parse(String source, ParsePosition pos)
- Specified by:
parsein classDateFormat
-
setTimeZone
public void setTimeZone(TimeZone tz)
- Overrides:
setTimeZonein classDateFormat
-
setCalendar
public void setCalendar(Calendar cal)
- Overrides:
setCalendarin classDateFormat
-
setNumberFormat
public void setNumberFormat(NumberFormat format)
- Overrides:
setNumberFormatin classDateFormat
-
setLenient
public void setLenient(boolean lenient)
- Overrides:
setLenientin classDateFormat
-
setDateFormatSymbols
public void setDateFormatSymbols(DateFormatSymbols symbols)
-
set2DigitYearStart
public void set2DigitYearStart(Date date)
-
-