View Javadoc
1 /*** 2 * Copyright (c) 2002, CodeStreet LLC. All rights reserved.<p> 3 * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following 4 * conditions are met:<p> 5 * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 6 * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer 7 * in the documentation and/or other materials provided with the distribution. Neither the name of CodeStreet LLC. nor the 8 * names of its contributors may be used to endorse or promote products derived from this software without specific prior written 9 * permission.<p> 10 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT 11 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 12 * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 13 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 14 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 15 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<p> 16 */ 17 18 package com.codestreet.messageforge; 19 20 import java.util.Date; 21 22 /*** 23 * Class to represent a constraint on a date message field. 24 * @author Jawaid Hakim. 25 */ 26 public abstract class RFldConstraintDatetime implements RFldConstraint 27 { 28 /*** 29 * Ctor. 30 */ 31 protected RFldConstraintDatetime() 32 { 33 } 34 35 /*** 36 * Check if a message field satisfies the constraint. 37 * @param fld Field to validate. 38 */ 39 public void validate(RFld fld) throws FieldValidationException 40 { 41 if (fld instanceof RFldDatetime) 42 { 43 RFldDatetime dateTimeFld = (RFldDatetime)fld; 44 if (! isValid(dateTimeFld.getValue())) 45 throw new FieldValidationException(errDesc(fld.getName())); 46 } 47 else 48 throw new FieldValidationException("Invalid field type: " + fld.getName()); 49 } 50 51 /*** 52 * Check if a value satisfies the constraint. 53 * @param val Value to validate. 54 */ 55 public void validate(RFld fld, Date val) throws FieldValidationException 56 { 57 if (! isValid(val)) 58 throw new FieldValidationException(fld.getName()); 59 } 60 61 /*** 62 * Check if a datetime message field satisfies the constraint. 63 * @param fld Field to validate. 64 * @return <tt>true</tt> if the field satisfied the 65 * constraint. Otherwise, <tt>false</tt> is returned. 66 */ 67 public boolean isValid(RFld fld) 68 { 69 if (fld instanceof RFldDatetime) 70 return isValid(((RFldDatetime)fld).getValue()); 71 else 72 return false; 73 } 74 75 /*** 76 * Check if a date message field satisfies the constraint. 77 * @param data Data to validate. 78 * @return <tt>true</tt> if the data satisfied the 79 * constraint. Otherwise, <tt>false</tt> is returned. 80 */ 81 public abstract boolean isValid(Date data); 82 }

This page was automatically generated by Maven