1/*
2 * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26package javax.xml.bind;
27
28/**
29 * This event indicates that a problem was encountered while validating the
30 * incoming XML data during an unmarshal operation, while performing
31 * on-demand validation of the Java content tree, or while marshalling the
32 * Java content tree back to XML data.
33 *
34 * @author <ul><li>Ryan Shoemaker, Sun Microsystems, Inc.</li><li>Kohsuke Kawaguchi, Sun Microsystems, Inc.</li><li>Joe Fialli, Sun Microsystems, Inc.</li></ul>
35 * @see Validator
36 * @see ValidationEventHandler
37 * @since 1.6, JAXB 1.0
38 */
39public interface ValidationEvent {
40
41    /**
42     * Conditions that are not errors or fatal errors as defined by the
43     * XML 1.0 recommendation
44     */
45    public static final int WARNING     = 0;
46
47    /**
48     * Conditions that correspond to the definition of "error" in section
49     * 1.2 of the W3C XML 1.0 Recommendation
50     */
51    public static final int ERROR       = 1;
52
53    /**
54     * Conditions that correspond to the definition of "fatal error" in section
55     * 1.2 of the W3C XML 1.0 Recommendation
56     */
57    public static final int FATAL_ERROR = 2;
58
59    /**
60     * Retrieve the severity code for this warning/error.
61     *
62     * <p>
63     * Must be one of {@code ValidationEvent.WARNING},
64     * {@code ValidationEvent.ERROR}, or {@code ValidationEvent.FATAL_ERROR}.
65     *
66     * @return the severity code for this warning/error
67     */
68    public int getSeverity();
69
70    /**
71     * Retrieve the text message for this warning/error.
72     *
73     * @return the text message for this warning/error or null if one wasn't set
74     */
75    public String getMessage();
76
77    /**
78     * Retrieve the linked exception for this warning/error.
79     *
80     * @return the linked exception for this warning/error or null if one
81     *         wasn't set
82     */
83    public Throwable getLinkedException();
84
85    /**
86     * Retrieve the locator for this warning/error.
87     *
88     * @return the locator that indicates where the warning/error occurred
89     */
90    public ValidationEventLocator getLocator();
91
92}
93