KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > war > util > DefaultCalendarFormatProvider


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.war.util;
22
23 import java.text.DateFormat JavaDoc;
24 import java.text.SimpleDateFormat JavaDoc;
25
26 import org.springframework.context.i18n.LocaleContextHolder;
27
28 /**
29  * @author Robert Matei (robert.matei@geminisols.ro)
30  * @version $Id: DefaultCalendarFormatProvider.java 4731 2006-09-25 09:29:44Z lucian $
31  */

32 public class DefaultCalendarFormatProvider implements CalendarFormatProvider {
33
34     public String JavaDoc getCalendarDatePattern() {
35         String JavaDoc pattern = getDateFormatPattern();
36         pattern = pattern.replaceAll("(?i)m+", "%m");
37         pattern = pattern.replaceAll("(?i)d+", "%d");
38         pattern = pattern.replaceAll("(?i)y+", "%Y");
39         return pattern;
40     }
41
42     public String JavaDoc getCalendarDatetimePattern() {
43         String JavaDoc pattern = getDatetimeFormatPattern();
44         pattern = pattern.replaceAll("d+", "%d");
45         pattern = pattern.replaceAll("M+", "%m");
46         pattern = pattern.replaceAll("y+", "%Y");
47         pattern = pattern.replaceAll("H+", "%H");
48         pattern = pattern.replaceAll("h+", "%I");
49         pattern = pattern.replaceAll("a+", "%p");
50         pattern = pattern.replaceAll("(?<=^|[^%])m+", "%M");
51         return pattern;
52     }
53
54     public DateFormat JavaDoc getDateFormat() {
55         String JavaDoc pattern = getDateFormatPattern();
56         return new SimpleDateFormat JavaDoc(pattern);
57     }
58
59     public DateFormat JavaDoc getDatetimeFormat() {
60         String JavaDoc pattern = getDatetimeFormatPattern();
61         return new SimpleDateFormat JavaDoc(pattern);
62     }
63
64     protected String JavaDoc getDatetimeFormatPattern() {
65         SimpleDateFormat JavaDoc defaultFormat = (SimpleDateFormat JavaDoc) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, LocaleContextHolder.getLocale());
66         String JavaDoc pattern = (defaultFormat).toPattern();
67         pattern = pattern.replaceAll("d+","dd");
68         pattern = pattern.replaceAll("M+","MM");
69         pattern = pattern.replaceAll("y+","yyyy");
70         pattern = pattern.replaceAll("H+","HH");
71         pattern = pattern.replaceAll("h+","hh");
72         pattern = pattern.replaceAll("k+","HH");
73         pattern = pattern.replaceAll("K+","hh");
74         pattern = pattern.replaceAll("m+","mm");
75         return pattern;
76     }
77
78     protected String JavaDoc getDateFormatPattern() {
79         SimpleDateFormat JavaDoc defaultFormat = (SimpleDateFormat JavaDoc) DateFormat.getDateInstance(DateFormat.SHORT, LocaleContextHolder.getLocale());
80         String JavaDoc pattern = (defaultFormat).toPattern();
81         pattern = pattern.replaceAll("(?i)d+","dd");
82         pattern = pattern.replaceAll("(?i)m+","MM");
83         pattern = pattern.replaceAll("(?i)y+","yyyy");
84         return pattern;
85     }
86
87 }
88
Popular Tags