001 /**
002 * Licensed to the Apache Software Foundation (ASF) under one or more
003 * contributor license agreements. See the NOTICE file distributed with
004 * this work for additional information regarding copyright ownership.
005 * The ASF licenses this file to You under the Apache License, Version 2.0
006 * (the "License"); you may not use this file except in compliance with
007 * the License. You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017 package javax.xml.bind.helpers;
018
019 import javax.xml.bind.ValidationEvent;
020 import javax.xml.bind.ValidationEventLocator;
021
022 public class ValidationEventImpl implements ValidationEvent {
023
024 private int severity;
025 private String message;
026 private Throwable linkedException;
027 private ValidationEventLocator locator;
028
029 public ValidationEventImpl(int severity, String message, ValidationEventLocator locator) {
030 this(severity, message, locator, null);
031 }
032
033 public ValidationEventImpl(int severity, String message, ValidationEventLocator locator, Throwable linkedException) {
034 setSeverity(severity);
035 this.message = message;
036 this.locator = locator;
037 this.linkedException = linkedException;
038 }
039
040 public int getSeverity() {
041 return severity;
042 }
043
044 public void setSeverity(int severity) {
045 if (severity != 0 && severity != 1 && severity != 2) {
046 throw new IllegalArgumentException("Illegal severity");
047 }
048 this.severity = severity;
049 }
050
051 public String getMessage() {
052 return message;
053 }
054
055 public void setMessage(String message) {
056 this.message = message;
057 }
058
059 public Throwable getLinkedException() {
060 return linkedException;
061 }
062
063 public void setLinkedException(Throwable linkedException) {
064 this.linkedException = linkedException;
065 }
066
067 public ValidationEventLocator getLocator() {
068 return locator;
069 }
070
071 public void setLocator(ValidationEventLocator locator) {
072 this.locator = locator;
073 }
074
075 public String toString() {
076 String s;
077 switch (getSeverity()) {
078 case WARNING:
079 s = "WARNING";
080 break;
081 case ERROR:
082 s = "ERROR";
083 break;
084 case FATAL_ERROR:
085 s = "FATAL_ERROR";
086 break;
087 default:
088 s = String.valueOf(getSeverity());
089 break;
090 }
091 return "[severity=" + s + ", message=" + getMessage() + ", locator=" + getLocator() + "]";
092 }
093
094 }