KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > idaremedia > antx > solo > tests > NowValueURIHandler


1 /**
2  * $Id: NowValueURIHandler.java 180 2007-03-15 12:56:38Z ssmc $
3  * Copyright 2005 iDare Media, Inc. All rights reserved.
4  *
5  * Originally written by iDare Media, Inc. for release into the public domain. This
6  * library, source form and binary form, is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public License (LGPL) as published
8  * by the Free Software Foundation; either version 2.1 of the License, or (at your option)
9  * any later version.<p>
10  *
11  * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
12  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13  * See the GNU LGPL for more details.<p>
14  *
15  * You should have received a copy of the GNU Lesser General Public License along with this
16  * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite
17  * 330, Boston, MA 02111-1307 USA. The GNU LGPL can be found online at
18  * http://www.fsf.org/copyleft/lesser.html<p>
19  *
20  * This product has been influenced by several projects within the open-source community.
21  * The JWare developers wish to acknowledge the open-source community's support. For more
22  * information regarding the open-source products used within JWare, please visit the
23  * JWare website.
24  *----------------------------------------------------------------------------------------*
25  * WEBSITE- http://www.jware.info EMAIL- inquiries@jware.info
26  *----------------------------------------------------------------------------------------*
27  **/

28
29 package com.idaremedia.antx.solo.tests;
30
31 import java.text.SimpleDateFormat JavaDoc;
32 import java.util.Date JavaDoc;
33
34 import com.idaremedia.antx.apis.Requester;
35 import com.idaremedia.antx.helpers.DateTimeFormat;
36 import com.idaremedia.antx.helpers.Tk;
37 import com.idaremedia.antx.starters.ValueURIHandlerSkeleton;
38
39 /**
40  * Value URI handler that display date/time string for "now".
41  *
42  * @since JWare/AntX 0.5
43  * @author ssmc, &copy;2005 <a HREF="http://www.jware.info">iDare&nbsp;Media,&nbsp;Inc.</a>
44  * @version 0.5
45  * @.safety multiple
46  * @.group test,helper
47  **/

48
49 public final class NowValueURIHandler extends ValueURIHandlerSkeleton
50 {
51     /**
52      * Initializes a new value uri handler instance.
53      **/

54     public NowValueURIHandler()
55     {
56     }
57
58
59     /**
60      * Returns now timestamp as formatted string. If no fragment is
61      * defined uses the builtin Date format.
62      **/

63     public String JavaDoc valueFrom(String JavaDoc uriFragment, String JavaDoc fullUri, Requester clnt)
64     {
65         Date JavaDoc now = new Date JavaDoc();
66         if (uriFragment.length()==0) {
67             return now.toString();
68         }
69         String JavaDoc query = uriFragment.toLowerCase();
70         if ("gmt".equals(query)) {
71             return DateTimeFormat.GMTformat(now.getTime());
72         }
73         if (query.startsWith("++") || query.startsWith("--")) {
74             long time = now.getTime();
75             int delta = Tk.integerFrom(query.substring(2),-1);
76             if (delta>=0) {
77                 if (query.charAt(0)=='+') {
78                     time += delta;
79                 } else {
80                     time -= delta;
81                 }
82             }
83             return DateTimeFormat.GMTformat(time);
84         }
85         SimpleDateFormat JavaDoc df = new SimpleDateFormat JavaDoc(uriFragment);
86         return DateTimeFormat.format(now.getTime(),df);
87     }
88 }
89
90 /* end-of-NowValueURIHandler.java */
Popular Tags