| /******************************************************************************* |
| * Copyright (c) 2001, 2006 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.wst.xml.core.internal.validation.core; |
| |
| import java.util.ArrayList; |
| import java.util.Collections; |
| import java.util.List; |
| |
| import org.eclipse.core.runtime.QualifiedName; |
| import org.eclipse.wst.validation.internal.provisional.core.IMessage; |
| |
| /** |
| * A class for holding validation message information. Holds the message and the |
| * message location. |
| */ |
| public class ValidationMessage |
| { |
| public static final QualifiedName ERROR_MESSAGE_MAP_QUALIFIED_NAME = new QualifiedName("org.eclipse.wst.xml.validation", "errorMessageMap"); //$NON-NLS-1$ //$NON-NLS-2$ |
| protected String message; |
| protected int lineNumber; |
| protected int columnNumber; |
| protected String uri; |
| protected List nestedErrors; |
| protected String key; |
| protected Object[] messageArguments; |
| protected int startOffset; |
| protected int severity = IMessage.NORMAL_SEVERITY; |
| public static int SEV_HIGH = IMessage.HIGH_SEVERITY; |
| public static int SEV_NORMAL = IMessage.NORMAL_SEVERITY; |
| public static int SEV_LOW = IMessage.LOW_SEVERITY; |
| |
| /** |
| * Constructor. |
| * |
| * @param message The message for the validation message. |
| * @param lineNumber The line location of the message. |
| * @param columnNumber The column location of the message. |
| */ |
| public ValidationMessage(String message, int lineNumber, int columnNumber) |
| { |
| this(message, lineNumber, columnNumber, null); |
| } |
| |
| /** |
| * Constructor. |
| * |
| * @param message The message for the validation message. |
| * @param lineNumber The line location of the message. |
| * @param columnNumber The column location of the message. |
| * @param uri The uri of the file the message is for. |
| */ |
| public ValidationMessage(String message, int lineNumber, int columnNumber, String uri) |
| { |
| this(message, lineNumber, columnNumber, uri, null, null); |
| } |
| |
| /** |
| * Constructor. |
| * |
| * @param message The message for the validation message. |
| * @param lineNumber The line location of the message. |
| * @param columnNumber The column location of the message. |
| * @param uri The uri of the file the message is for. |
| * @param key a unique string representing the error |
| * @param messageArguments the arguments Xerces uses to create the message |
| */ |
| public ValidationMessage(String message, int lineNumber, int columnNumber, String uri, String key, Object[] messageArguments) |
| { |
| this.message = message; |
| this.lineNumber = lineNumber; |
| this.columnNumber = columnNumber; |
| this.uri = uri; |
| this.key = key; |
| this.messageArguments = messageArguments; |
| this.startOffset = 0; |
| } |
| |
| |
| /** |
| * Get the message for this valiation message. |
| * |
| * @return The message for this validation message. |
| */ |
| public String getMessage() |
| { |
| return message; |
| } |
| |
| /** |
| * Get the column location. |
| * |
| * @return The column number. |
| */ |
| public int getColumnNumber() |
| { |
| return columnNumber; |
| } |
| |
| /** |
| * Get the line location. |
| * |
| * @return The line number. |
| */ |
| public int getLineNumber() |
| { |
| return lineNumber; |
| } |
| |
| /** |
| * Get the uri for the file that contains the message. |
| * |
| * @return The uri of the file that contains the message. |
| */ |
| public String getUri() |
| { |
| return uri; |
| } |
| |
| /** |
| * Add a nested validation message to this validation message. |
| * |
| * @param validationMessage The validation message to add as a nested message. |
| */ |
| public void addNestedMessage(ValidationMessage validationMessage) |
| { |
| if (nestedErrors == null) |
| { |
| nestedErrors = new ArrayList(); |
| } |
| nestedErrors.add(validationMessage); |
| int validaitonmessageSeverity = validationMessage.getSeverity(); |
| if(validaitonmessageSeverity == SEV_NORMAL || validaitonmessageSeverity == SEV_HIGH) |
| { |
| setSeverity(SEV_NORMAL); |
| } |
| } |
| |
| /** |
| * Get the list of nested validation messages. |
| * |
| * @return The list of nested validation messages. |
| */ |
| public List getNestedMessages() |
| { |
| return nestedErrors != null ? nestedErrors : Collections.EMPTY_LIST; |
| } |
| |
| /** |
| * Get the severity of the defect. |
| * |
| * @return The severity of the defect. |
| */ |
| public int getSeverity() |
| { |
| return severity; |
| } |
| |
| /** |
| * Set the severity of the message. |
| * |
| * @param sev The severity to set. |
| */ |
| public void setSeverity(int sev) |
| { |
| severity = sev; |
| } |
| |
| public void setStartOffset(int offset) |
| { |
| this.startOffset = offset; |
| } |
| |
| /** |
| * @return Returns the key. |
| */ |
| public String getKey() |
| { |
| return key; |
| } |
| |
| public Object[] getMessageArguments() |
| { |
| return this.messageArguments; |
| } |
| |
| |
| public void setMessage(String message) |
| { |
| this.message = message; |
| } |
| |
| } |