1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: TimeValidator.java,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 import com
.sun
.star
.form
.binding
.*;
35 * @author fs@openoffice.org
37 public class TimeValidator
extends ControlValidator
40 /** Creates a new instance of NumericValidator */
41 public TimeValidator( )
45 public String
explainInvalid( Object Value
)
49 if ( isVoid( Value
) )
52 com
.sun
.star
.util
.Time timeValue
= (com
.sun
.star
.util
.Time
)Value
;
53 if ( isInvalidTime( timeValue
) )
54 return "this is no valid time";
55 if ( !isFullHour( timeValue
) )
56 return "time must denote a full hour";
58 catch( java
.lang
.Exception e
)
60 return "this is no valid time";
65 public boolean isValid( Object Value
)
69 if ( isVoid( Value
) )
72 com
.sun
.star
.util
.Time timeValue
= (com
.sun
.star
.util
.Time
)
73 com
.sun
.star
.uno
.AnyConverter
.toObject(
74 com
.sun
.star
.util
.Time
.class, Value
);
75 if ( isInvalidTime( timeValue
) )
77 if ( !isFullHour( timeValue
) )
81 catch( java
.lang
.Exception e
)
83 e
.printStackTrace( System
.err
);
88 private boolean isInvalidTime( com
.sun
.star
.util
.Time timeValue
)
90 return ( timeValue
.Hours
== -1 ) && ( timeValue
.Minutes
== -1 ) && ( timeValue
.Seconds
== -1 ) && ( timeValue
.HundredthSeconds
== -1 );
93 private boolean isFullHour( com
.sun
.star
.util
.Time timeValue
)
95 return ( timeValue
.Minutes
== 0 ) && ( timeValue
.Seconds
== 0 ) && ( timeValue
.HundredthSeconds
== 0 );