nu.xom

## Class ValidityException

- Object
- - Throwable
  - - Exception
    - - nu.xom.ParsingException
      - - nu.xom.ValidityException

- All Implemented Interfaces:
    Serializable

      public class ValidityException
      extends ParsingException

  Signals a validity error in a document being parsed. These are not thrown by default, unless you specifically request that the builder validate.

  Version:
    1.3.1
  Author:
    Elliotte Rusty Harold
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ValidityException(String message)` Creates a new `ValidityException` with a detail message.
    `ValidityException(String message, int lineNumber, int columnNumber)` Creates a new `ValidityException` with a detail message and line and column numbers.
    `ValidityException(String message, int lineNumber, int columnNumber, Throwable cause)` Creates a new `ValidityException` with a detail message, line and column numbers, and an underlying exception.
    `ValidityException(String message, String uri, int lineNumber, int columnNumber)` Creates a new `ValidityException` with a detail message, the URI of the document that contained the error, and approximate line and column numbers of the first validity error.
    `ValidityException(String message, String uri, int lineNumber, int columnNumber, Throwable cause)` Creates a new `ValidityException` with a detail message, URI of the document containing the validity error, line and column numbers of the error, and an underlying exception.
    `ValidityException(String message, Throwable cause)` Creates a new `ValidityException` with a detail message and an underlying root cause.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getColumnNumber(int n)` Returns the column number of the nth validity error.
    `Document` | `getDocument()` Returns a `Document` object for the document that caused this exception.
    `int` | `getErrorCount()` Returns the number of validity errors the parser detected in the document.
    `int` | `getLineNumber(int n)` Returns the line number of the nth validity error.
    `String` | `getValidityError(int n)` Returns a message indicating a specific validity problem in the input document as detected by the parser.

    - ### Methods inherited from class nu.xom.ParsingException

      `getCause, getColumnNumber, getLineNumber, getMessage, getURI, initCause, toString`

    - ### Methods inherited from class Throwable

      `addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace`

    - ### Methods inherited from class Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ValidityException

          public ValidityException(String message,
                                   Throwable cause)

      Creates a new `ValidityException` with a detail message and an underlying root cause.

      Parameters:
        `message` - a string indicating the specific problem
        `cause` - the original cause of this exception

    - #### ValidityException

          public ValidityException(String message,
                                   int lineNumber,
                                   int columnNumber)

      Creates a new `ValidityException` with a detail message and line and column numbers.

      Parameters:
        `message` - a string indicating the specific problem
        `lineNumber` - the approximate line number where the problem occurs
        `columnNumber` - the approximate column number where the problem occurs

    - #### ValidityException

          public ValidityException(String message,
                                   int lineNumber,
                                   int columnNumber,
                                   Throwable cause)

      Creates a new `ValidityException` with a detail message, line and column numbers, and an underlying exception.

      Parameters:
        `message` - a string indicating the specific problem
        `lineNumber` - the approximate line number where the problem occurs
        `columnNumber` - the approximate column number where the problem occurs
        `cause` - the original cause of this exception

    - #### ValidityException

          public ValidityException(String message,
                                   String uri,
                                   int lineNumber,
                                   int columnNumber)

      Creates a new `ValidityException` with a detail message, the URI of the document that contained the error, and approximate line and column numbers of the first validity error.

      Parameters:
        `message` - a string indicating the specific problem
        `uri` - URL of the document with a validity error
        `lineNumber` - the approximate line number where the problem occurs
        `columnNumber` - the approximate column number where the problem occurs

    - #### ValidityException

          public ValidityException(String message,
                                   String uri,
                                   int lineNumber,
                                   int columnNumber,
                                   Throwable cause)

      Creates a new `ValidityException` with a detail message, URI of the document containing the validity error, line and column numbers of the error, and an underlying exception.

      Parameters:
        `message` - a string indicating the specific problem
        `uri` - URL of the document with a validity error
        `lineNumber` - the approximate line number where the problem occurs
        `columnNumber` - the approximate column number where the problem occurs
        `cause` - the original cause of this exception

    - #### ValidityException

          public ValidityException(String message)

      Creates a new `ValidityException` with a detail message.

      Parameters:
        `message` - a string indicating the specific problem

  - ### Method Detail

    - #### getDocument

          public Document getDocument()

      Returns a `Document` object for the document that caused this exception. This is useful if you want notification of validity errors, but nonetheless wish to further process the invalid document.

      Returns:
        the invalid document

    - #### getErrorCount

          public int getErrorCount()

      Returns the number of validity errors the parser detected in the document. This is likely to not be consistent from one parser to another.

      Returns:
        the number of validity errors the parser detected

    - #### getValidityError

          public String getValidityError(int n)

      Returns a message indicating a specific validity problem in the input document as detected by the parser. Normally, these will be in the order they appear in the document. For instance, an error in the root element is likely to appear before an error in a child element. However, this depends on the underlying parser and is not guaranteed.

      Parameters:
        `n` - the index of the validity error to report
      Returns:
        a string describing the nth validity error
      Throws:
        `IndexOutOfBoundsException` - if `n` is greater than or equal to the number of errors detected

    - #### getLineNumber

          public int getLineNumber(int n)

      Returns the line number of the nth validity error. It returns -1 if this is not known. This number may be helpful for debugging, but should not be relied on. Different parsers may set it differently. For instance a problem with an element might be reported using the line number of the start-tag or the line number of the end-tag.

      Parameters:
        `n` - the index of the validity error to report
      Returns:
        the approximate line number where the nth validity error was detected
      Throws:
        `IndexOutOfBoundsException` - if `n` is greater than or equal to the number of errors detected

    - #### getColumnNumber

          public int getColumnNumber(int n)

      Returns the column number of the nth validity error. It returns -1 if this is not known. This number may be helpful for debugging, but should not be relied on. Different parsers may set it differently. For instance a problem with an element might be reported using the column of the `<` or the `>` of the start-tag

      Parameters:
        `n` - the index of the validity error to report
      Returns:
        the approximate column where the nth validity error was detected
      Throws:
        `IndexOutOfBoundsException` - if `n` is greater than or equal to the number of errors detected

Copyright 2002-2026 Elliotte Rusty Harold
elharo@ibiblio.org