KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jface > internal > databinding > provisional > validation > String2DateValidator


1 /*
2  * Copyright (C) 2005 db4objects Inc. http://www.db4o.com
3  *
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  * db4objects - Initial API and implementation
11  */

12 package org.eclipse.jface.internal.databinding.provisional.validation;
13
14 import java.util.Date JavaDoc;
15
16 import org.eclipse.jface.internal.databinding.internal.BindingMessages;
17 import org.eclipse.jface.internal.databinding.provisional.conversion.DateConversionSupport;
18
19
20 /**
21  * DateValidator. An IValidator implementation for dates.
22  */

23 public class String2DateValidator extends DateConversionSupport implements IValidator {
24     /* (non-Javadoc)
25      * @see org.eclipse.jface.databinding.validator.IValidator#isPartiallyValid(java.lang.Object)
26      */

27     public ValidationError isPartiallyValid(Object JavaDoc fragment) {
28         // TODO: Can we do any sensible (locale-independent) checking here?
29
return null;
30     }
31     
32     /* (non-Javadoc)
33      * @see org.eclipse.jface.databinding.validator.IValidator#isValid(java.lang.Object)
34      */

35     public ValidationError isValid(Object JavaDoc value) {
36         return parse((String JavaDoc)value)!=null ? null : ValidationError.error(getHint());
37     }
38
39     private String JavaDoc getHint() {
40         Date JavaDoc sampleDate=new Date JavaDoc();
41         StringBuffer JavaDoc samples=new StringBuffer JavaDoc();
42         for(int formatterIdx=1;formatterIdx<numFormatters()-2;formatterIdx++) {
43             samples.append('\'');
44             samples.append(format(sampleDate,formatterIdx));
45             samples.append("', "); //$NON-NLS-1$
46
}
47         samples.append('\'');
48         samples.append(format(sampleDate,0));
49         samples.append('\'');
50         return BindingMessages.getString("Examples") + ": "+samples+",..."; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
51
}
52 }
53
Popular Tags