/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.util.xml;
import org.w3c.dom.*;
/**
* An exception type thrown by the {@link com.silverwrist.util.xml.XMLLoader XMLLoader} when it encounters
* a parse error, value error, or other erroneous condition. It contains a reference to the node in the DOM
* tree where the error occured, if such is possible to determine.
*
* @author Eric J. Bowersox <erbo@silcom.com>
* @version X
*/
public class XMLLoadException extends Exception
{
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private Node m_locus = null; // locus of the error
/*--------------------------------------------------------------------------------
* Constructors
*--------------------------------------------------------------------------------
*/
/**
* Constructs a new XMLLoadException
.
*/
public XMLLoadException()
{
super();
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param msg The error message to be thrown.
*/
public XMLLoadException(String msg)
{
super(msg);
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param inner The exception wrapped by this XMLLoadException
.
*/
public XMLLoadException(Throwable inner)
{
super(inner);
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param msg The error message to be thrown.
* @param inner The exception wrapped by this XMLLoadException
.
*/
public XMLLoadException(String msg, Throwable inner)
{
super(msg,inner);
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param locus The Node
in the DOM tree where the error occurred.
*/
public XMLLoadException(Node locus)
{
super("Error in <" + locus.getNodeName() + "/> section of input");
m_locus = locus;
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param msg The error message to be thrown.
* @param locus The Node
in the DOM tree where the error occurred.
*/
public XMLLoadException(String msg, Node locus)
{
super("Error in <" + locus.getNodeName() + "/> section of input - " + msg);
m_locus = locus;
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param inner The exception wrapped by this XMLLoadException
.
* @param locus The Node
in the DOM tree where the error occurred.
*/
public XMLLoadException(Throwable inner, Node locus)
{
super("Error in <" + locus.getNodeName() + "/> section of input - " + inner.getMessage(),inner);
m_locus = locus;
} // end constructor
/**
* Constructs a new XMLLoadException
.
*
* @param msg The error message to be thrown.
* @param inner The exception wrapped by this XMLLoadException
.
* @param locus The Node
in the DOM tree where the error occurred.
*/
public XMLLoadException(String msg, Throwable inner, Node locus)
{
super("Error in <" + locus.getNodeName() + "/> section of input - " + msg,inner);
m_locus = locus;
} // end constructor
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
*/
/**
* Returns the locus of the error contained in this exception.
*
* @return The Node
that indicates wherre in the DOM tree the error occurred.
*/
public Node getLocus()
{
return m_locus;
} // end getLocus
} // end class XMLLoadException