KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tapestry > contrib > valid > DateField


1 // Copyright 2004, 2005 The Apache Software Foundation
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15 package org.apache.tapestry.contrib.valid;
16
17 import java.text.DateFormat JavaDoc;
18 import java.util.Date JavaDoc;
19
20 import org.apache.tapestry.valid.DateValidator;
21 import org.apache.tapestry.valid.IValidator;
22 import org.apache.tapestry.valid.ValidField;
23
24 /**
25  * Backwards compatible version of the 1.0.7 DateField component. <table border=1>
26  * <tr>
27  * <td>Parameter</td>
28  * <td>Type</td>
29  * <td>Read / Write</td>
30  * <td>Required</td>
31  * <td>Default</td>
32  * <td>Description</td>
33  * </tr>
34  * <tr>
35  * <td>date</td>
36  * <td>java.util.Date</td>
37  * <td>R / W</td>
38  * <td>yes</td>
39  * <td>&nbsp;</td>
40  * <td>The date property to edit.</td>
41  * </tr>
42  * <tr>
43  * <td>required</td>
44  * <td>boolean</td>
45  * <td>R</td>
46  * <td>no</td>
47  * <td>no</td>
48  * <td>If true, then a value must be entered.</td>
49  * </tr>
50  * <tr>
51  * <td>minimum</td>
52  * <td>java.util.Date</td>
53  * <td>R</td>
54  * <td>no</td>
55  * <td>&nbsp;</td>
56  * <td>If provided, the date entered must be equal to or later than the provided minimum date.
57  * </td>
58  * </tr>
59  * <tr>
60  * <td>maximum</td>
61  * <td>java.util.Date</td>
62  * <td>R</td>
63  * <td>no</td>
64  * <td>&nbsp;</td>
65  * <td>If provided, the date entered must be less than or equal to the provided maximum date.</td>
66  * </tr>
67  * <tr>
68  * <td>displayName</td>
69  * <td>String</td>
70  * <td>R</td>
71  * <td>yes</td>
72  * <td>&nbsp;</td>
73  * <td>A textual name for the field that is used when formulating error messages.</td>
74  * </tr>
75  * <tr>
76  * <td>format</td>
77  * <td>{@link DateFormat}</td>
78  * <td>R</td>
79  * <td>no</td>
80  * <td>Default format <code>MM/dd/yyyy</code></td>
81  * <td>The format used to display and parse dates.</td>
82  * </tr>
83  * <tr>
84  * <td>displayFormat</td>
85  * <td>{@link String}</td>
86  * <td>R</td>
87  * <td>no</td>
88  * <td><code>MM/DD/YYYY</code></td>
89  * <td>The format string presented to the user if the date entered is in an incorrect format. e.g.
90  * the format object throws a ParseException.</td>
91  * </tr>
92  * </table>
93  * <p>
94  * Informal parameters are allowed. A body is not allowed.
95  *
96  * @author Howard Lewis Ship, Richard Lewis-Shell
97  * @since 1.0.8
98  * @see ValidField
99  */

100
101 public abstract class DateField extends ValidField
102 {
103     public abstract Date JavaDoc getDate();
104
105     public abstract void setDate(Date JavaDoc date);
106
107     public abstract Date JavaDoc getMinimum();
108
109     public abstract Date JavaDoc getMaximum();
110
111     public abstract boolean isRequired();
112
113     public abstract DateFormat JavaDoc getFormat();
114
115     public abstract String JavaDoc getDisplayFormat();
116
117     /**
118      * Overrides {@link ValidField#getValidator()}to construct a validator on-the-fly.
119      */

120
121     public IValidator getValidator()
122     {
123         DateValidator validator = new DateValidator();
124
125         if (isParameterBound("minimum"))
126             validator.setMinimum(getMinimum());
127
128         if (isParameterBound("maximum"))
129             validator.setMaximum(getMaximum());
130
131         if (isParameterBound("required"))
132             validator.setRequired(isRequired());
133
134         if (isParameterBound("format"))
135             validator.setFormat(getFormat());
136
137         if (isParameterBound("displayFormat"))
138             validator.setDisplayFormat(getDisplayFormat());
139
140         return validator;
141     }
142
143     /**
144      * @see org.apache.tapestry.valid.ValidField#getValue()
145      */

146     public Object JavaDoc getValue()
147     {
148         return getDate();
149     }
150
151     /**
152      * @see org.apache.tapestry.valid.ValidField#setValue(java.lang.Object)
153      */

154     public void setValue(Object JavaDoc value)
155     {
156         setDate((Date JavaDoc) value);
157     }
158
159 }
Popular Tags