src/share/jaxws_classes/javax/xml/bind/TypeConstraintException.java

Fri, 04 Oct 2013 16:21:34 +0100

author
mkos
date
Fri, 04 Oct 2013 16:21:34 +0100
changeset 408
b0610cd08440
parent 397
b99d7e355d4b
child 449
bd943bdbce05
permissions
-rw-r--r--

8025054: Update JAX-WS RI integration to 2.2.9-b130926.1035
Reviewed-by: chegar

     1 /*
     2  * Copyright (c) 2003, 2013, 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  */
    26 package javax.xml.bind;
    28 /**
    29  * This exception indicates that a violation of a dynamically checked type
    30  * constraint was detected.
    31  *
    32  * <p>
    33  * This exception can be thrown by the generated setter methods of the schema
    34  * derived Java content classes.  However, since fail-fast validation is
    35  * an optional feature for JAXB Providers to support, not all setter methods
    36  * will throw this exception when a type constraint is violated.
    37  *
    38  * <p>
    39  * If this exception is throw while invoking a fail-fast setter, the value of
    40  * the property is guaranteed to remain unchanged, as if the setter were never
    41  * called.
    42  *
    43  * @author <ul><li>Ryan Shoemaker, Sun Microsystems, Inc.</li><li>Joe Fialli, Sun Microsystems, Inc.</li></ul>
    44  * @see ValidationEvent
    45  * @since JAXB1.0
    46  */
    48 public class TypeConstraintException extends java.lang.RuntimeException {
    50     /**
    51      * Vendor specific error code
    52      *
    53      */
    54     private String errorCode;
    56     /**
    57      * Exception reference
    58      *
    59      */
    60     private volatile Throwable linkedException;
    63     /**
    64      * Construct a TypeConstraintException with the specified detail message.  The
    65      * errorCode and linkedException will default to null.
    66      *
    67      * @param message a description of the exception
    68      */
    69     public TypeConstraintException(String message) {
    70         this( message, null, null );
    71     }
    73     /**
    74      * Construct a TypeConstraintException with the specified detail message and vendor
    75      * specific errorCode.  The linkedException will default to null.
    76      *
    77      * @param message a description of the exception
    78      * @param errorCode a string specifying the vendor specific error code
    79      */
    80     public TypeConstraintException(String message, String errorCode) {
    81         this( message, errorCode, null );
    82     }
    84     /**
    85      * Construct a TypeConstraintException with a linkedException.  The detail message and
    86      * vendor specific errorCode will default to null.
    87      *
    88      * @param exception the linked exception
    89      */
    90     public TypeConstraintException(Throwable exception) {
    91         this( null, null, exception );
    92     }
    94     /**
    95      * Construct a TypeConstraintException with the specified detail message and
    96      * linkedException.  The errorCode will default to null.
    97      *
    98      * @param message a description of the exception
    99      * @param exception the linked exception
   100      */
   101     public TypeConstraintException(String message, Throwable exception) {
   102         this( message, null, exception );
   103     }
   105     /**
   106      * Construct a TypeConstraintException with the specified detail message,
   107      * vendor specific errorCode, and linkedException.
   108      *
   109      * @param message a description of the exception
   110      * @param errorCode a string specifying the vendor specific error code
   111      * @param exception the linked exception
   112      */
   113     public TypeConstraintException(String message, String errorCode, Throwable exception) {
   114         super( message );
   115         this.errorCode = errorCode;
   116         this.linkedException = exception;
   117     }
   119     /**
   120      * Get the vendor specific error code
   121      *
   122      * @return a string specifying the vendor specific error code
   123      */
   124     public String getErrorCode() {
   125         return this.errorCode;
   126     }
   128     /**
   129      * Get the linked exception
   130      *
   131      * @return the linked Exception, null if none exists
   132      */
   133     public Throwable getLinkedException() {
   134         return linkedException;
   135     }
   137     /**
   138      * Add a linked Exception.
   139      *
   140      * @param exception the linked Exception (A null value is permitted and
   141      *                  indicates that the linked exception does not exist or
   142      *                  is unknown).
   143      */
   144     public void setLinkedException( Throwable exception ) {
   145         this.linkedException = exception;
   146     }
   148     /**
   149      * Returns a short description of this TypeConstraintException.
   150      *
   151      */
   152     public String toString() {
   153         return linkedException == null ?
   154             super.toString() :
   155             super.toString() + "\n - with linked exception:\n[" +
   156                                 linkedException.toString()+ "]";
   157     }
   159     /**
   160      * Prints this TypeConstraintException and its stack trace (including the stack trace
   161      * of the linkedException if it is non-null) to the PrintStream.
   162      *
   163      * @param s PrintStream to use for output
   164      */
   165     public void printStackTrace( java.io.PrintStream s ) {
   166         if( linkedException != null ) {
   167           linkedException.printStackTrace(s);
   168           s.println("--------------- linked to ------------------");
   169         }
   171         super.printStackTrace(s);
   172     }
   174     /**
   175      * Prints this TypeConstraintException and its stack trace (including the stack trace
   176      * of the linkedException if it is non-null) to <tt>System.err</tt>.
   177      *
   178      */
   179     public void printStackTrace() {
   180         printStackTrace(System.err);
   181     }
   183 }

mercurial