KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > validation > BindingErrorProcessor


1 /*
2  * Copyright 2002-2006 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package org.springframework.validation;
18
19 import org.springframework.beans.PropertyAccessException;
20
21 /**
22  * Strategy for processing <code>DataBinder</code>'s missing field errors,
23  * and for translating a <code>PropertyAccessException</code> to a
24  * <code>FieldError</code>.
25  *
26  * <p>The error processor is pluggable so you can treat errors differently
27  * if you want to. A default implementation is provided for typical needs.
28  *
29  * <p>Note: As of Spring 2.0, this interface operates on a given BindingResult,
30  * to be compatible with any binding strategy (bean property, direct field access, etc).
31  * It can still receive a BindException as argument (since a BindException implements
32  * the BindingResult interface as well) but no longer operates on it directly.
33  *
34  * @author Alef Arendsen
35  * @author Juergen Hoeller
36  * @since 1.2
37  * @see DataBinder#setBindingErrorProcessor
38  * @see DefaultBindingErrorProcessor
39  * @see BindingResult
40  * @see BindException
41  */

42 public interface BindingErrorProcessor {
43
44     /**
45      * Apply the missing field error to the given BindException.
46      * <p>Usually, a field error is created for a missing required field.
47      * @param missingField the field that was missing during binding
48      * @param bindingResult the errors object to add the error(s) to.
49      * You can add more than just one error or maybe even ignore it.
50      * The <code>BindingResult</code> object features convenience utils such as
51      * a <code>resolveMessageCodes</code> method to resolve an error code.
52      * @see BeanPropertyBindingResult#addError
53      * @see BeanPropertyBindingResult#resolveMessageCodes
54      */

55     void processMissingFieldError(String JavaDoc missingField, BindingResult bindingResult);
56
57     /**
58      * Translate the given <code>PropertyAccessException</code> to an appropriate
59      * error registered on the given <code>Errors</code> instance.
60      * <p>Note that two error types are available: <code>FieldError</code> and
61      * <code>ObjectError</code>. Usually, field errors are created, but in certain
62      * situations one might want to create a global <code>ObjectError</code> instead.
63      * @param ex the <code>PropertyAccessException</code> to translate
64      * @param bindingResult the errors object to add the error(s) to.
65      * You can add more than just one error or maybe even ignore it.
66      * The <code>BindingResult</code> object features convenience utils such as
67      * a <code>resolveMessageCodes</code> method to resolve an error code.
68      * @see Errors
69      * @see FieldError
70      * @see ObjectError
71      * @see MessageCodesResolver
72      * @see BeanPropertyBindingResult#addError
73      * @see BeanPropertyBindingResult#resolveMessageCodes
74      */

75     void processPropertyAccessException(PropertyAccessException ex, BindingResult bindingResult);
76
77 }
78
Popular Tags