Source code: com/aendvari/griffin/validation/validator/Validator.java
1 /*
2 * Validator.java
3 *
4 * Copyright (c) 2001, 2002 Aendvari, Ltd. All Rights Reserved.
5 *
6 * See the file LICENSE for terms of use.
7 *
8 */
9
10 package com.aendvari.griffin.validation.validator;
11
12 import java.io.*;
13 import java.util.*;
14 import java.beans.*;
15
16 import java.lang.reflect.*;
17 import java.lang.NoSuchMethodException;
18 import java.lang.IllegalAccessException;
19
20 import com.aendvari.common.util.*;
21
22 import com.aendvari.common.model.*;
23
24 import com.aendvari.griffin.validation.*;
25 import com.aendvari.griffin.validation.dataset.*;
26 import com.aendvari.griffin.validation.validator.*;
27
28
29 /**
30 * <p>Defines a {@link Validator}.</p>
31 *
32 * @author Scott Milne
33 *
34 */
35
36 public class Validator extends Handler
37 {
38 /**
39 * Executes this part of a {@link Dataset} validation.
40 *
41 * @param property A {@link Property} instance for the value to test.
42 * @param handlers A HashMap of {@link ValidationHandler} instances.
43 *
44 * @return Returns boolean for determining if the validate was successful.
45 *
46 */
47
48 public boolean executeValidation( Property property, HashMap handlers )
49 throws Exception
50 {
51 ValidationHandler validatorObjectHandler = (ValidationHandler)handlers.get(handlerObject);
52 ValidationHandler validatorClassHandler = (ValidationHandler)handlers.get(handlerClass);
53
54 // execute the validate method
55 boolean bSuccessful = handlerMethod.executeValidation(
56 this,
57 property,
58 validatorObjectHandler,
59 validatorClassHandler
60 );
61
62 return bSuccessful;
63 }
64
65 /**
66 * Convert this object into a String representation.
67 *
68 */
69
70 public String toString()
71 {
72 String data = "Validator [";
73 data += "name=" + name + ",";
74 data += "handlerObject=" + handlerObject + ",";
75 data += "handlerClass=" + handlerClass + ",";
76 data += "handlerMethod=" + handlerMethod + ",";
77 data += "parameterDefines="+parameterDefines;
78 data += "]";
79 return data;
80 }
81 }
82