This exception indicates a failure when validating an instance against a type
defined in a schema.
This class holds the same information as a ValidationException, except that it is not an exception,
and does not carry system overheads such as a stack trace. It is used because operations such as "castable",
and validation of values in a union, cause validation failures on a success path and it is costly to throw,
or even to create, exception objects on a success path.
asAtomic
public AtomicValue asAtomic()
throws ValidationException
Calling this method on a ConversionResult returns the AtomicValue that results
from the conversion if the conversion was successful, and throws a ValidationException
explaining the conversion error otherwise.
Use this method if you are calling a conversion method that returns a ConversionResult,
and if you want to throw an exception if the conversion fails.
- asAtomic in interface ConversionResult
- the atomic value that results from the conversion if the conversion was successful
getColumnNumber
public int getColumnNumber()
getConstraintClauseNumber
public String getConstraintClauseNumber()
Get the constraint clause number
- the section number of the clause containing the constraint that has been violated.
Generally a decimal number in the form n.n.n; possibly a sequence of such numbers separated
by semicolons. Or null if the information is not available.
getConstraintName
public String getConstraintName()
Get the constraint name
- the name of the violated constraint, in the form of a fragment identifier within
the published XML Schema specification; or null if the information is not available.
getConstraintReference
public String getConstraintReference()
Get the constraint name and clause in the format defined in XML Schema Part C (Outcome Tabulations).
This mandates the format validation-rule-name.clause-number
- the constraint reference, for example "cos-ct-extends.1.2"; or null if the reference
is not known.
getConstraintReferenceMessage
public String getConstraintReferenceMessage()
Get the constraint reference as a string for inserting into an error message.
- the reference as a message, or null if no information is available
getConstraintSchemaPart
public int getConstraintSchemaPart()
Get the "schema part" component of the constraint reference
- 1 or 2 depending on whether the violated constraint is in XML Schema Part 1 or Part 2;
or -1 if there is no constraint reference
getErrorCode
public String getErrorCode()
getLineNumber
public int getLineNumber()
getLocator
public SourceLocator getLocator()
getMessage
public String getMessage()
getPublicId
public String getPublicId()
getSystemId
public String getSystemId()
setColumnNumber
public void setColumnNumber(int column)
setConstraintReference
public void setConstraintReference(int schemaPart,
String constraintName,
String clause)
Set a reference to the constraint in XML Schema that is not satisfied
schemaPart
- - 1 or 2, depending whether the constraint is in XMLSchema part 1 or part 2constraintName
- - the short name of the constraint in XMLSchema, as a fragment identifier in the
HTML of the XML Schema Part 1 specificationclause
- - the clause number within the description of that constraint
setConstraintReference
public void setConstraintReference(ValidationFailure e)
Copy the constraint reference from another exception object
e
- the other exception object from which to copy the information
setErrorCode
public void setErrorCode(String errorCode)
setLineNumber
public void setLineNumber(int line)
setLocator
public void setLocator(SourceLocator locator)
setPublicId
public void setPublicId(String id)
setSourceLocator
public void setSourceLocator(SourceLocator locator)
setSystemId
public void setSystemId(String id)
toString
public String toString()
Returns the String representation of this Exception
- the String representation of this Exception