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

org.codehaus.stax2.validation.XMLValidationProblem 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;

/**
 * Simple container class used to store a non-fatal problem
 * either to be returned as is, or to use for creating and throwing
 * a validation exception.
 */
public class XMLValidationProblem
{
    public final static int SEVERITY_WARNING = 1;
    public final static int SEVERITY_ERROR = 2;
    public final static int SEVERITY_FATAL = 3;

    /**
     * Location within validated xml stream where the problem occured.
     */
    protected Location mLocation;

    protected final String mMessage;

    protected final int mSeverity;

    /**
     * Type of the problem, available types implementation specified.
     *
     * @since 3.0
     */
    protected String mType;

    /**
     * Validator instance that reported the problem, if any (may be
     * null if stream reader or writer itself reported the problem)
     *
     * @since 3.0
     */
    protected XMLValidator mReporter;

    public XMLValidationProblem(Location loc, String msg)
    {
        this(loc, msg, SEVERITY_ERROR);
    }

    public XMLValidationProblem(Location loc, String msg, int severity)
    {
        this(loc, msg, severity, null);
    }

    public XMLValidationProblem(Location loc, String msg, int severity,
                                String type)
    {
        mLocation = loc;
        mMessage = msg;
        mSeverity = severity;
        mType = type;
    }

    /**
     * Convenience method for constructing a {@link XMLValidationException}
     * to throw based on information contained in this object.
     * Base implementation is equivalent to:
     *
     *  return XMLValidationException.createException(this);
     *
* * @since 3.0 */ public XMLValidationException toException() { return XMLValidationException.createException(this); } /** * @since 3.0 */ public void setType(String t) { mType = t; } /** * @since 3.0 */ public void setLocation(Location l) { mLocation = l; } /** * Set the validator object that reported this problem, if known. * * @since 3.0 */ public void setReporter(XMLValidator v) { mReporter = v; } /** * @return Reference to location where problem was encountered. */ public Location getLocation() { return mLocation; } /** * @return Human-readable message describing the problem */ public String getMessage() { return mMessage; } /** * @return One of SEVERITY_ constants * (such as {@link #SEVERITY_WARNING} */ public int getSeverity() { return mSeverity; } /** * @return Generic type (class) of the problem; may be null * if validator does not provide such details * * @since 3.0 */ public String getType() { return mType; } /** * Returns the validator that reported the problem if known. * * @return Validator that reported the problem; null if unknown or N/A. * * @since 3.0 */ public XMLValidator getReporter() { return mReporter; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy