From: <nul...@us...> - 2011-02-27 04:53:26
|
Revision: 11994 http://wonder.svn.sourceforge.net/wonder/?rev=11994&view=rev Author: nullterminated Date: 2011-02-27 04:53:19 +0000 (Sun, 27 Feb 2011) Log Message: ----------- Add java.text.Format wrappers for Joda time formatters. Added Paths: ----------- branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaDateTimeFormatter.java branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateFormatter.java branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateTimeFormatter.java branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalTimeFormatter.java Added: branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaDateTimeFormatter.java =================================================================== --- branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaDateTimeFormatter.java (rev 0) +++ branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaDateTimeFormatter.java 2011-02-27 04:53:19 UTC (rev 11994) @@ -0,0 +1,59 @@ +package er.extensions.formatters; + +import java.text.FieldPosition; +import java.text.Format; +import java.text.ParsePosition; +import java.util.Locale; +import java.util.TimeZone; + +import org.joda.time.Chronology; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +public class ERXJodaDateTimeFormatter extends Format { + private final DateTimeFormatter formatter; + + public ERXJodaDateTimeFormatter(String pattern) { + this(pattern, null, null, null); + } + + public ERXJodaDateTimeFormatter(String pattern, DateTimeZone zone) { + this(pattern, null, null, zone); + } + + public ERXJodaDateTimeFormatter(String pattern, TimeZone zone) { + this(pattern, null, null, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaDateTimeFormatter(String pattern, Locale locale, TimeZone zone) { + this(pattern, null, locale, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaDateTimeFormatter(String pattern, Chronology chronology, Locale locale, DateTimeZone zone) { + DateTimeFormatter f = DateTimeFormat.forPattern(pattern); + if(chronology != null) { f = f.withChronology(chronology); } + if(locale != null) { f = f.withLocale(locale); } + if(zone != null) { f = f.withZone(zone); } + formatter = f; + } + + public ERXJodaDateTimeFormatter(Locale locale, String style) { + this(DateTimeFormat.patternForStyle(style, locale)); + } + + @Override + public StringBuffer format(Object obj, StringBuffer buffer, FieldPosition pos) { + formatter.printTo(buffer, (DateTime)obj); + return buffer; + } + + @Override + public DateTime parseObject(String str, ParsePosition pos) { + DateTime dt = formatter.parseDateTime(str); + pos.setIndex(str.length()); + return dt; + } + +} Added: branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateFormatter.java =================================================================== --- branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateFormatter.java (rev 0) +++ branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateFormatter.java 2011-02-27 04:53:19 UTC (rev 11994) @@ -0,0 +1,61 @@ +package er.extensions.formatters; + +import java.text.FieldPosition; +import java.text.Format; +import java.text.ParsePosition; +import java.util.Locale; +import java.util.TimeZone; + +import org.joda.time.Chronology; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.LocalDate; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +public class ERXJodaLocalDateFormatter extends Format { + private final DateTimeFormatter formatter; + + public ERXJodaLocalDateFormatter(String pattern) { + this(pattern, null, null, null); + } + + public ERXJodaLocalDateFormatter(String pattern, DateTimeZone zone) { + this(pattern, null, null, zone); + } + + public ERXJodaLocalDateFormatter(String pattern, TimeZone zone) { + this(pattern, null, null, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalDateFormatter(String pattern, Locale locale, TimeZone zone) { + this(pattern, null, locale, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalDateFormatter(String pattern, Chronology chronology, Locale locale, DateTimeZone zone) { + DateTimeFormatter f = DateTimeFormat.forPattern(pattern); + if(chronology != null) { f = f.withChronology(chronology); } + if(locale != null) { f = f.withLocale(locale); } + if(zone != null) { f = f.withZone(zone); } + formatter = f; + } + + public ERXJodaLocalDateFormatter(Locale locale, String style) { + this(DateTimeFormat.patternForStyle(style, locale)); + } + + @Override + public StringBuffer format(Object obj, StringBuffer buffer, FieldPosition pos) { + formatter.printTo(buffer, (LocalDate)obj); + return buffer; + } + + @Override + public LocalDate parseObject(String str, ParsePosition pos) { + DateTime dt = formatter.parseDateTime(str); + pos.setIndex(str.length()); + LocalDate ld = new LocalDate(dt); + return ld; + } + +} Added: branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateTimeFormatter.java =================================================================== --- branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateTimeFormatter.java (rev 0) +++ branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalDateTimeFormatter.java 2011-02-27 04:53:19 UTC (rev 11994) @@ -0,0 +1,61 @@ +package er.extensions.formatters; + +import java.text.FieldPosition; +import java.text.Format; +import java.text.ParsePosition; +import java.util.Locale; +import java.util.TimeZone; + +import org.joda.time.Chronology; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.LocalDateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +public class ERXJodaLocalDateTimeFormatter extends Format { + private final DateTimeFormatter formatter; + + public ERXJodaLocalDateTimeFormatter(String pattern) { + this(pattern, null, null, null); + } + + public ERXJodaLocalDateTimeFormatter(String pattern, DateTimeZone zone) { + this(pattern, null, null, zone); + } + + public ERXJodaLocalDateTimeFormatter(String pattern, TimeZone zone) { + this(pattern, null, null, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalDateTimeFormatter(String pattern, Locale locale, TimeZone zone) { + this(pattern, null, locale, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalDateTimeFormatter(String pattern, Chronology chronology, Locale locale, DateTimeZone zone) { + DateTimeFormatter f = DateTimeFormat.forPattern(pattern); + if(chronology != null) { f = f.withChronology(chronology); } + if(locale != null) { f = f.withLocale(locale); } + if(zone != null) { f = f.withZone(zone); } + formatter = f; + } + + public ERXJodaLocalDateTimeFormatter(Locale locale, String style) { + this(DateTimeFormat.patternForStyle(style, locale)); + } + + @Override + public StringBuffer format(Object obj, StringBuffer buffer, FieldPosition pos) { + formatter.printTo(buffer, (LocalDateTime)obj); + return buffer; + } + + @Override + public LocalDateTime parseObject(String str, ParsePosition pos) { + DateTime dt = formatter.parseDateTime(str); + pos.setIndex(str.length()); + LocalDateTime ldt = new LocalDateTime(dt); + return ldt; + } + +} Added: branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalTimeFormatter.java =================================================================== --- branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalTimeFormatter.java (rev 0) +++ branches/Wonder_5_0_0_WebObjects_5_4_Branch/Wonder/Frameworks/Core/ERExtensions/Sources/er/extensions/formatters/ERXJodaLocalTimeFormatter.java 2011-02-27 04:53:19 UTC (rev 11994) @@ -0,0 +1,61 @@ +package er.extensions.formatters; + +import java.text.FieldPosition; +import java.text.Format; +import java.text.ParsePosition; +import java.util.Locale; +import java.util.TimeZone; + +import org.joda.time.Chronology; +import org.joda.time.DateTime; +import org.joda.time.DateTimeZone; +import org.joda.time.LocalTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +public class ERXJodaLocalTimeFormatter extends Format { + private final DateTimeFormatter formatter; + + public ERXJodaLocalTimeFormatter(String pattern) { + this(pattern, null, null, null); + } + + public ERXJodaLocalTimeFormatter(String pattern, DateTimeZone zone) { + this(pattern, null, null, zone); + } + + public ERXJodaLocalTimeFormatter(String pattern, TimeZone zone) { + this(pattern, null, null, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalTimeFormatter(String pattern, Locale locale, TimeZone zone) { + this(pattern, null, locale, DateTimeZone.forTimeZone(zone)); + } + + public ERXJodaLocalTimeFormatter(String pattern, Chronology chronology, Locale locale, DateTimeZone zone) { + DateTimeFormatter f = DateTimeFormat.forPattern(pattern); + if(chronology != null) { f = f.withChronology(chronology); } + if(locale != null) { f = f.withLocale(locale); } + if(zone != null) { f = f.withZone(zone); } + formatter = f; + } + + public ERXJodaLocalTimeFormatter(Locale locale, String style) { + this(DateTimeFormat.patternForStyle(style, locale)); + } + + @Override + public StringBuffer format(Object obj, StringBuffer buffer, FieldPosition pos) { + formatter.printTo(buffer, (LocalTime)obj); + return buffer; + } + + @Override + public LocalTime parseObject(String str, ParsePosition pos) { + DateTime dt = formatter.parseDateTime(str); + pos.setIndex(str.length()); + LocalTime lt = new LocalTime(dt); + return lt; + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |