1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
/* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.xml.bind.helpers; import java.text.MessageFormat; import javax.xml.bind.ValidationEvent; import javax.xml.bind.ValidationEventLocator; /** * Default implementation of the ValidationEvent interface. * * <p> * JAXB providers are allowed to use whatever class that implements * the ValidationEvent interface. This class is just provided for a * convenience. * * @author <ul><li>Kohsuke Kawaguchi, Sun Microsystems, Inc.</li></ul> * @version $Revision: 1.2 $ * @see javax.xml.bind.Validator * @see javax.xml.bind.ValidationEventHandler * @see javax.xml.bind.ValidationEvent * @see javax.xml.bind.ValidationEventLocator * @since JAXB1.0 */ public class ValidationEventImpl implements ValidationEvent { /** * Create a new ValidationEventImpl. * * @param _severity The severity value for this event. Must be one of * ValidationEvent.WARNING, ValidationEvent.ERROR, or * ValidationEvent.FATAL_ERROR * @param _message The text message for this event - may be null. * @param _locator The locator object for this event - may be null. * @throws IllegalArgumentException if an illegal severity field is supplied */ public ValidationEventImpl( int _severity, String _message, ValidationEventLocator _locator ) { this(_severity,_message,_locator,null); } /** * Create a new ValidationEventImpl. * * @param _severity The severity value for this event. Must be one of * ValidationEvent.WARNING, ValidationEvent.ERROR, or * ValidationEvent.FATAL_ERROR * @param _message The text message for this event - may be null. * @param _locator The locator object for this event - may be null. * @param _linkedException An optional linked exception that may provide * additional information about the event - may be null. * @throws IllegalArgumentException if an illegal severity field is supplied */ public ValidationEventImpl( int _severity, String _message, ValidationEventLocator _locator, Throwable _linkedException ) { setSeverity( _severity ); this.message = _message; this.locator = _locator; this.linkedException = _linkedException; } private int severity; private String message; private Throwable linkedException; private ValidationEventLocator locator; public int getSeverity() { return severity; } /** * Set the severity field of this event. * * @param _severity Must be one of ValidationEvent.WARNING, * ValidationEvent.ERROR, or ValidationEvent.FATAL_ERROR. * @throws IllegalArgumentException if an illegal severity field is supplied */ public void setSeverity( int _severity ) { if( _severity != ValidationEvent.WARNING && _severity != ValidationEvent.ERROR && _severity != ValidationEvent.FATAL_ERROR ) { throw new IllegalArgumentException( Messages.format( Messages.ILLEGAL_SEVERITY ) ); } this.severity = _severity; } public String getMessage() { return message; } /** * Set the message field of this event. * * @param _message String message - may be null. */ public void setMessage( String _message ) { this.message = _message; } public Throwable getLinkedException() { return linkedException; } /** * Set the linked exception field of this event. * * @param _linkedException Optional linked exception - may be null. */ public void setLinkedException( Throwable _linkedException ) { this.linkedException = _linkedException; } public ValidationEventLocator getLocator() { return locator; } /** * Set the locator object for this event. * * @param _locator The locator - may be null. */ public void setLocator( ValidationEventLocator _locator ) { this.locator = _locator; } /** * Returns a string representation of this object in a format * helpful to debugging. * * @see Object#equals(Object) */ public String toString() { String s; switch(getSeverity()) { case WARNING: s="WARNING";break; case ERROR: s="ERROR";break; case FATAL_ERROR: s="FATAL_ERROR";break; default: s=String.valueOf(getSeverity());break; } return MessageFormat.format("[severity={0},message={1},locator={2}]", new Object[]{ s, getMessage(), getLocator() }); } }