Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
TreeConstraints |
|
| 1.6;1.6 |
1 | /* | |
2 | * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons-sandbox//contract/src/java/org/apache/commons/contract/constraints/TreeConstraints.java,v 1.1 2004/10/08 09:36:19 dflorey Exp $ | |
3 | * $Revision: 155440 $ | |
4 | * $Date: 2005-02-26 13:18:56 +0000 (Sat, 26 Feb 2005) $ | |
5 | * | |
6 | * ==================================================================== | |
7 | * | |
8 | * Copyright 2004 The Apache Software Foundation | |
9 | * | |
10 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
11 | * you may not use this file except in compliance with the License. | |
12 | * You may obtain a copy of the License at | |
13 | * | |
14 | * http://www.apache.org/licenses/LICENSE-2.0 | |
15 | * | |
16 | * Unless required by applicable law or agreed to in writing, software | |
17 | * distributed under the License is distributed on an "AS IS" BASIS, | |
18 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
19 | * See the License for the specific language governing permissions and | |
20 | * limitations under the License. | |
21 | * | |
22 | */ | |
23 | ||
24 | package org.apache.commons.contract.constraints; | |
25 | ||
26 | import org.apache.commons.contract.Context; | |
27 | import org.apache.commons.i18n.bundles.TextBundle; | |
28 | ||
29 | /** | |
30 | * The TreeValueDescriptor class | |
31 | * | |
32 | */ | |
33 | public class TreeConstraints implements Constraints { | |
34 | private Constraints entryConstraints; | |
35 | private Constraints arrayConstraints; | |
36 | ||
37 | 0 | public TreeConstraints() { |
38 | 0 | this.entryConstraints = null; |
39 | 0 | arrayConstraints = new ArrayConstraints(this); |
40 | 0 | } |
41 | ||
42 | 0 | public TreeConstraints(Constraints entryValueDescriptor) { |
43 | 0 | this.entryConstraints = entryValueDescriptor; |
44 | 0 | arrayConstraints = new ArrayConstraints(this); |
45 | 0 | } |
46 | ||
47 | public Object cast(Object value, Context context) throws CastException { | |
48 | try { | |
49 | 0 | return arrayConstraints.cast(value, context); |
50 | 0 | } catch ( CastException exception ) { |
51 | 0 | return entryConstraints.cast(value, context); |
52 | } | |
53 | } | |
54 | ||
55 | public void validate(Object value, Context context) throws ValidationException { | |
56 | 0 | if ( value instanceof Object[]) { |
57 | 0 | arrayConstraints.validate(value, context); |
58 | } else { | |
59 | 0 | entryConstraints.validate(value, context); |
60 | } | |
61 | 0 | } |
62 | ||
63 | public TextBundle verboseConstraints() { | |
64 | 0 | return new TextBundle("booleansOnly"); |
65 | } | |
66 | } |