You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2013/04/30 10:40:58 UTC
svn commit: r1477507 - in /commons/proper/lang/trunk/src: changes/changes.xml
main/java/org/apache/commons/lang3/time/FastDateFormat.java
main/java/org/apache/commons/lang3/time/FormatCache.java
Author: sebb
Date: Tue Apr 30 08:40:58 2013
New Revision: 1477507
URL: http://svn.apache.org/r1477507
Log:
LANG-884 Simplify FastDateFormat; eliminate boxing
Modified:
commons/proper/lang/trunk/src/changes/changes.xml
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FormatCache.java
Modified: commons/proper/lang/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/changes/changes.xml?rev=1477507&r1=1477506&r2=1477507&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/changes/changes.xml (original)
+++ commons/proper/lang/trunk/src/changes/changes.xml Tue Apr 30 08:40:58 2013
@@ -22,7 +22,8 @@
<body>
<release version="3.2" date="TBA" description="Next release">
- <action issue="LANG-882" type="update">LookupTranslator now works with implementations of CharSequence other than String </action>
+ <action issue="LANG-884" type="update">Simplify FastDateFormat; eliminate boxing</action>
+ <action issue="LANG-882" type="update">LookupTranslator now works with implementations of CharSequence other than String</action>
<action issue="LANG-754" type="fix">ClassUtils.getShortName(String) will now only do a reverse lookup for array types</action>
<action issue="LANG-886" type="add">Added CharSetUtils.containsAny(String, String)</action>
<action issue="LANG-846" type="update">Provide CharSequenceUtils.regionMatches with a proper green implementation instead of inefficiently converting to Strings</action>
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java?rev=1477507&r1=1477506&r2=1477507&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FastDateFormat.java Tue Apr 30 08:40:58 2013
@@ -177,7 +177,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getDateInstance(final int style) {
- return cache.getDateTimeInstance(style, null, null, null);
+ return cache.getDateInstance(style, null, null);
}
/**
@@ -192,7 +192,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getDateInstance(final int style, final Locale locale) {
- return cache.getDateTimeInstance(style, null, null, locale);
+ return cache.getDateInstance(style, null, locale);
}
/**
@@ -208,7 +208,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getDateInstance(final int style, final TimeZone timeZone) {
- return cache.getDateTimeInstance(style, null, timeZone, null);
+ return cache.getDateInstance(style, timeZone, null);
}
/**
@@ -224,7 +224,7 @@ public class FastDateFormat extends Form
* pattern defined
*/
public static FastDateFormat getDateInstance(final int style, final TimeZone timeZone, final Locale locale) {
- return cache.getDateTimeInstance(style, null, timeZone, locale);
+ return cache.getDateInstance(style, timeZone, locale);
}
//-----------------------------------------------------------------------
@@ -239,7 +239,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getTimeInstance(final int style) {
- return cache.getDateTimeInstance(null, style, null, null);
+ return cache.getTimeInstance(style, null, null);
}
/**
@@ -254,7 +254,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getTimeInstance(final int style, final Locale locale) {
- return cache.getDateTimeInstance(null, style, null, locale);
+ return cache.getTimeInstance(style, null, locale);
}
/**
@@ -270,7 +270,7 @@ public class FastDateFormat extends Form
* @since 2.1
*/
public static FastDateFormat getTimeInstance(final int style, final TimeZone timeZone) {
- return cache.getDateTimeInstance(null, style, timeZone, null);
+ return cache.getTimeInstance(style, timeZone, null);
}
/**
@@ -286,7 +286,7 @@ public class FastDateFormat extends Form
* pattern defined
*/
public static FastDateFormat getTimeInstance(final int style, final TimeZone timeZone, final Locale locale) {
- return cache.getDateTimeInstance(null, style, timeZone, locale);
+ return cache.getTimeInstance(style, timeZone, locale);
}
//-----------------------------------------------------------------------
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FormatCache.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FormatCache.java?rev=1477507&r1=1477506&r2=1477507&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FormatCache.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/time/FormatCache.java Tue Apr 30 08:40:58 2013
@@ -116,7 +116,8 @@ abstract class FormatCache<F extends For
* @throws IllegalArgumentException if the Locale has no date/time
* pattern defined
*/
- public F getDateTimeInstance(final Integer dateStyle, final Integer timeStyle, final TimeZone timeZone, Locale locale) {
+ // This must remain private, see LANG-884
+ private F getDateTimeInstance(final Integer dateStyle, final Integer timeStyle, final TimeZone timeZone, Locale locale) {
if (locale == null) {
locale = Locale.getDefault();
}
@@ -124,6 +125,59 @@ abstract class FormatCache<F extends For
return getInstance(pattern, timeZone, locale);
}
+ /*
+ * <p>Gets a date/time formatter instance using the specified style,
+ * time zone and locale.</p>
+ *
+ * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT
+ * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT
+ * @param timeZone optional time zone, overrides time zone of
+ * formatted date, null means use default Locale
+ * @param locale optional locale, overrides system locale
+ * @return a localized standard date/time formatter
+ * @throws IllegalArgumentException if the Locale has no date/time
+ * pattern defined
+ */
+ // package protected, for access from FastDateFormat; do not make public or protected
+ F getDateTimeInstance(final int dateStyle, final int timeStyle, final TimeZone timeZone, Locale locale) {
+ return getDateTimeInstance(Integer.valueOf(dateStyle), Integer.valueOf(timeStyle), timeZone, locale);
+ }
+
+ /*
+ * <p>Gets a date formatter instance using the specified style,
+ * time zone and locale.</p>
+ *
+ * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT
+ * @param timeZone optional time zone, overrides time zone of
+ * formatted date, null means use default Locale
+ * @param locale optional locale, overrides system locale
+ * @return a localized standard date/time formatter
+ * @throws IllegalArgumentException if the Locale has no date/time
+ * pattern defined
+ */
+ // package protected, for access from FastDateFormat; do not make public or protected
+ F getDateInstance(final int dateStyle, final TimeZone timeZone, Locale locale) {
+ return getDateTimeInstance(Integer.valueOf(dateStyle), null, timeZone, locale);
+ }
+
+ /*
+ * <p>Gets a time formatter instance using the specified style,
+ * time zone and locale.</p>
+ *
+ * @param dateStyle date style: FULL, LONG, MEDIUM, or SHORT
+ * @param timeStyle time style: FULL, LONG, MEDIUM, or SHORT
+ * @param timeZone optional time zone, overrides time zone of
+ * formatted date, null means use default Locale
+ * @param locale optional locale, overrides system locale
+ * @return a localized standard date/time formatter
+ * @throws IllegalArgumentException if the Locale has no date/time
+ * pattern defined
+ */
+ // package protected, for access from FastDateFormat; do not make public or protected
+ F getTimeInstance(final int timeStyle, final TimeZone timeZone, Locale locale) {
+ return getDateTimeInstance(null, Integer.valueOf(timeStyle), timeZone, locale);
+ }
+
/**
* <p>Gets a date/time format for the specified styles and locale.</p>
*
@@ -133,7 +187,8 @@ abstract class FormatCache<F extends For
* @return a localized standard date/time format
* @throws IllegalArgumentException if the Locale has no date/time pattern defined
*/
- public static String getPatternForStyle(final Integer dateStyle, final Integer timeStyle, final Locale locale) {
+ // package protected, for access from test code; do not make public or protected
+ static String getPatternForStyle(final Integer dateStyle, final Integer timeStyle, final Locale locale) {
final MultipartKey key = new MultipartKey(dateStyle, timeStyle, locale);
String pattern = cDateTimeInstanceCache.get(key);