View Javadoc

1   package org.jcr_blog.jcrmapping.converter.basic;
2   
3   import java.util.Calendar;
4   import java.util.Date;
5   import javax.enterprise.context.ApplicationScoped;
6   import javax.jcr.RepositoryException;
7   import javax.jcr.Value;
8   import javax.jcr.ValueFactory;
9   import org.jcr_blog.jcrmapping.converter.Converter;
10  
11  /**
12   *
13   * @author Sebastian Prehn <sebastian.prehn@planetswebdesign.de>
14   */
15  @ApplicationScoped
16  public class DateConverter implements Converter {
17  
18      @Override
19      public boolean isApplicableObjectToValue(Object object) {
20          return object instanceof Date;
21      }
22  
23      @Override
24      public Value toValue(Object object, ValueFactory valueFactory) {
25          Calendar c = Calendar.getInstance();
26          c.setTime((Date) object);
27          return valueFactory.createValue(c);
28      }
29  
30      @Override
31      public boolean isApplicableValueToObject(Class<?> clazz) {
32          return clazz.isAssignableFrom(Date.class);
33      }
34  
35      @Override
36      public Object toObject(Value value) throws RepositoryException {
37          return value.getDate().getTime();
38      }
39  }