All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.codehaus.stax2.validation.XMLValidationException Maven / Gradle / Ivy

Go to download

Stax2 API is an extension to basic Stax 1.0 API that adds significant new functionality, such as full-featured bi-direction validation interface and high-performance Typed Access API.

There is a newer version: 4.2.2
Show newest version
package org.codehaus.stax2.validation;

import javax.xml.stream.Location;
import javax.xml.stream.XMLStreamException;

/**
 * Specialized sub-class of {@link XMLStreamException}, to be used for
 * indicating fatal validation problems (when in mode in which exceptions
 * are to be thrown).
 *

* Note: constructors are protected, since direct instantiation should * be done using factory methods. Reason for this is that the base * {@link XMLStreamException} has less than robust handling of optional * arguments, and thus factory methods of this class can take care to * choose appropriate constructors to call, to make sure super-class does * not barf (NPE or such). */ public class XMLValidationException extends XMLStreamException { private static final long serialVersionUID = 1L; protected XMLValidationProblem mCause; // // Constructors are protected; sub-classes need to know what // // they are doing protected XMLValidationException(XMLValidationProblem cause) { super(); if (cause == null) { throwMissing(); } mCause = cause; } protected XMLValidationException(XMLValidationProblem cause, String msg) { super(msg); if (cause == null) { throwMissing(); } mCause = cause; } protected XMLValidationException(XMLValidationProblem cause, String msg, Location loc) { super(msg, loc); if (cause == null) { throwMissing(); } mCause = cause; } // // // Factory methods public static XMLValidationException createException(XMLValidationProblem cause) { String msg = cause.getMessage(); if (msg == null) { return new XMLValidationException(cause); } Location loc = cause.getLocation(); if (loc == null) { return new XMLValidationException(cause, msg); } return new XMLValidationException(cause, msg, loc); } // // // Accessors /** * @return Object that has all information about details of the * validation problem */ public XMLValidationProblem getValidationProblem() { return mCause; } // // // Internal protected static void throwMissing() throws RuntimeException { throw new IllegalArgumentException("Validation problem argument can not be null"); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy