01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.lib.common.xml;
15:
16: import org.jetbrains.annotations.NonNls;
17: import org.jetbrains.annotations.NotNull;
18: import org.jetbrains.annotations.Nullable;
19:
20: import java.lang.reflect.Field;
21: import java.text.ParseException;
22: import java.text.SimpleDateFormat;
23: import java.util.Date;
24:
25: /**
26: * User: Martin
27: * Date: 06.02.2006
28: * Time: 13:30:43
29: */
30: public class DateConverter implements ObjectConverter {
31: @NotNull
32: @NonNls
33: private SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
34: "yyyy.MM.dd HH:mm:ss.SSSZ");
35:
36: @NotNull
37: public Date getObject(@NotNull
38: String s) {
39: //noinspection ConstantConditions
40: if (s == null) {
41: throw new IllegalArgumentException("s must not be null");
42: }
43:
44: try {
45: return simpleDateFormat.parse(s);
46: } catch (ParseException e) {
47: throw new RuntimeException(e);
48: }
49: }
50:
51: @NotNull
52: public String getString(@NotNull
53: Object obj) {
54: return simpleDateFormat.format(obj);
55: }
56:
57: public void configure(@Nullable
58: XMLContext xmlContext, @Nullable
59: Field field) {
60: }
61: }
|