DateEditor.java |
/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.util.propertyeditor; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import org.jboss.util.NestedRuntimeException; /** * A property editor for {@link java.util.Date}. * * @version <tt>$Revision: 1.4.18.1 $</tt> * @author <a href="mailto:jason@planet57.com">Jason Dillon</a> * @author <a href="mailto:d_jencks@users.sourceforge.net">David Jencks</a> * @author Scott.Stark@jboss.org */ public class DateEditor extends TextPropertyEditorSupport { static DateFormat[] formats; static { String defaultFormat = System.getProperty("org.jboss.util.propertyeditor.DateEditor.format", "MMM d, yyyy"); formats = new DateFormat[] { new SimpleDateFormat(defaultFormat), // Tue Jan 04 00:00:00 PST 2005 new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy"), // Wed, 4 Jul 2001 12:08:56 -0700 new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z") }; } /** * Returns a Date for the input object converted to a string. It tries * the default date format as specified by the following SimpleDateFormat * formats in order: * * org.jboss.util.propertyeditor.DateEditor.format system property * (or MMM d, yyyy, if not specified), * EEE MMM d HH:mm:ss z yyyy * EEE, d MMM yyyy HH:mm:ss Z * @return a Date object * */ public Object getValue() { int n = 0; ParseException ex = null; do { try { DateFormat df = formats[n]; return df.parse(getAsText()); } catch (ParseException e) { ex = e; } n ++; } while( n < formats.length ); throw new NestedRuntimeException(ex); } }
DateEditor.java |