KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > vfs > metadata > range > AbstractRange


1 /*
2  * The contents of this file are subject to the
3  * Mozilla Public License Version 1.1 (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 http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
9  * See the License for the specific language governing rights and
10  * limitations under the License.
11  *
12  * The Initial Developer of the Original Code is Simulacra Media Ltd.
13  * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14  *
15  * All Rights Reserved.
16  *
17  * Contributor(s):
18  */

19 package org.openharmonise.vfs.metadata.range;
20
21 import java.util.*;
22
23 import org.openharmonise.vfs.metadata.*;
24
25
26 /**
27  * AbstractRange is a base class for implementors of the {@link org.openharmonise.vfs.metadata.Range}
28  * interface.
29  *
30  * @author Matthew Large
31  * @version $Revision: 1.1 $
32  *
33  */

34 public abstract class AbstractRange {
35
36     /**
37      *
38      */

39     public AbstractRange() {
40         super();
41     }
42     
43     /**
44      * Validates a list of values using the restrictions described by this
45      * range.
46      *
47      * @param aValues
48      * @return Validation result
49      *
50      * @see Range#validate(List)
51      */

52     public ValidationResult validate(List aValues) {
53         ValidationResult finalResult = new ValidationResult();
54         
55         Iterator itor = aValues.iterator();
56         
57         while(itor.hasNext()) {
58             ValidationResult result = this.validate( ((ValueInstance)itor.next()) );
59             finalResult.addNestedValidation(result);
60             if(!result.isValid()) {
61                 finalResult.setValid(false);
62             }
63         }
64         
65         return finalResult;
66     }
67     
68     /**
69      * Validates a single value using the restrictions described by this
70      * range.
71      *
72      * @param val Value
73      * @return Validation result
74      *
75      * @see Range#validate(ValueInstance)
76      */

77     public abstract ValidationResult validate(ValueInstance value);
78
79 }
80
Popular Tags