View Javadoc

1   package com.bradmcevoy.http.values;
2   
3   import com.bradmcevoy.http.DateUtils;
4   import com.bradmcevoy.http.DateUtils.DateParseException;
5   import com.bradmcevoy.http.XmlWriter;
6   import java.util.Date;
7   import java.util.Map;
8   
9   public class DateValueWriter implements ValueWriter {
10  
11      public boolean supports( String nsUri, String localName, Class c ) {
12          return Date.class.equals( c );
13      }
14  
15      public void writeValue( XmlWriter writer, String nsUri, String prefix, String localName, Object val, String href, Map<String, String> nsPrefixes ) {
16          if( val == null ) {
17              writer.writeProperty( prefix, localName );
18          } else {
19              Date date = (Date) val;
20              String s = DateUtils.formatDate( date );
21              writer.writeProperty( prefix, localName, s );
22          }
23      }
24  
25      public Object parse( String namespaceURI, String localPart, String value ) {
26          if( value == null || value.length() == 0 ) return null;
27          Date dt;
28          try {
29              dt = DateUtils.parseDate( value );
30              return dt;
31          } catch( DateParseException ex ) {
32              throw new RuntimeException( value, ex );
33          }
34      }
35  }