Home » xml-commons-external-1.4.01-src » javax » xml » bind » helpers » [javadoc | source]

    1   /*
    2    * Copyright 2005-2006 Sun Microsystems, Inc.  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.  Sun designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   22    * CA 95054 USA or visit www.sun.com if you need additional information or
   23    * have any questions.
   24    */
   25   package javax.xml.bind.helpers;
   26   
   27   import java.text.MessageFormat;
   28   
   29   import javax.xml.bind.ValidationEvent;
   30   import javax.xml.bind.ValidationEventLocator;
   31   
   32   /**
   33    * Default implementation of the ValidationEvent interface.
   34    *
   35    * <p>
   36    * JAXB providers are allowed to use whatever class that implements
   37    * the ValidationEvent interface. This class is just provided for a
   38    * convenience.
   39    *
   40    * @author <ul><li>Kohsuke Kawaguchi, Sun Microsystems, Inc.</li></ul>
   41    * @version $Revision: 1.1 $
   42    * @see javax.xml.bind.Validator
   43    * @see javax.xml.bind.ValidationEventHandler
   44    * @see javax.xml.bind.ValidationEvent
   45    * @see javax.xml.bind.ValidationEventLocator
   46    * @since JAXB1.0
   47    */
   48   public class ValidationEventImpl implements ValidationEvent
   49   {
   50   
   51       /**
   52        * Create a new ValidationEventImpl.
   53        *
   54        * @param _severity The severity value for this event.  Must be one of
   55        * ValidationEvent.WARNING, ValidationEvent.ERROR, or
   56        * ValidationEvent.FATAL_ERROR
   57        * @param _message The text message for this event - may be null.
   58        * @param _locator The locator object for this event - may be null.
   59        * @throws IllegalArgumentException if an illegal severity field is supplied
   60        */
   61       public ValidationEventImpl( int _severity, String _message,
   62                                    ValidationEventLocator _locator ) {
   63   
   64           this(_severity,_message,_locator,null);
   65       }
   66   
   67       /**
   68        * Create a new ValidationEventImpl.
   69        *
   70        * @param _severity The severity value for this event.  Must be one of
   71        * ValidationEvent.WARNING, ValidationEvent.ERROR, or
   72        * ValidationEvent.FATAL_ERROR
   73        * @param _message The text message for this event - may be null.
   74        * @param _locator The locator object for this event - may be null.
   75        * @param _linkedException An optional linked exception that may provide
   76        * additional information about the event - may be null.
   77        * @throws IllegalArgumentException if an illegal severity field is supplied
   78        */
   79       public ValidationEventImpl( int _severity, String _message,
   80                                    ValidationEventLocator _locator,
   81                                    Throwable _linkedException ) {
   82   
   83           setSeverity( _severity );
   84           this.message = _message;
   85           this.locator = _locator;
   86           this.linkedException = _linkedException;
   87       }
   88   
   89       private int severity;
   90       private String message;
   91       private Throwable linkedException;
   92       private ValidationEventLocator locator;
   93   
   94       public int getSeverity() {
   95           return severity;
   96       }
   97   
   98   
   99       /**
  100        * Set the severity field of this event.
  101        *
  102        * @param _severity Must be one of ValidationEvent.WARNING,
  103        * ValidationEvent.ERROR, or ValidationEvent.FATAL_ERROR.
  104        * @throws IllegalArgumentException if an illegal severity field is supplied
  105        */
  106       public void setSeverity( int _severity ) {
  107   
  108           if( _severity != ValidationEvent.WARNING &&
  109               _severity != ValidationEvent.ERROR &&
  110               _severity != ValidationEvent.FATAL_ERROR ) {
  111                   throw new IllegalArgumentException(
  112                       Messages.format( Messages.ILLEGAL_SEVERITY ) );
  113           }
  114   
  115           this.severity = _severity;
  116       }
  117   
  118       public String getMessage() {
  119           return message;
  120       }
  121       /**
  122        * Set the message field of this event.
  123        *
  124        * @param _message String message - may be null.
  125        */
  126       public void setMessage( String _message ) {
  127           this.message = _message;
  128       }
  129   
  130       public Throwable getLinkedException() {
  131           return linkedException;
  132       }
  133       /**
  134        * Set the linked exception field of this event.
  135        *
  136        * @param _linkedException Optional linked exception - may be null.
  137        */
  138       public void setLinkedException( Throwable _linkedException ) {
  139           this.linkedException = _linkedException;
  140       }
  141   
  142       public ValidationEventLocator getLocator() {
  143           return locator;
  144       }
  145       /**
  146        * Set the locator object for this event.
  147        *
  148        * @param _locator The locator - may be null.
  149        */
  150       public void setLocator( ValidationEventLocator _locator ) {
  151           this.locator = _locator;
  152       }
  153   
  154       /**
  155        * Returns a string representation of this object in a format
  156        * helpful to debugging.
  157        *
  158        * @see Object#equals(Object)
  159        */
  160       public String toString() {
  161           String s;
  162           switch(getSeverity()) {
  163           case WARNING:   s="WARNING";break;
  164           case ERROR: s="ERROR";break;
  165           case FATAL_ERROR: s="FATAL_ERROR";break;
  166           default: s=String.valueOf(getSeverity());break;
  167           }
  168           return MessageFormat.format("[severity={0},message={1},locator={2}]",
  169               new Object[]{
  170                   s,
  171                   getMessage(),
  172                   getLocator()
  173               });
  174       }
  175   }

Home » xml-commons-external-1.4.01-src » javax » xml » bind » helpers » [javadoc | source]