Package net.sf.saxon.type
Class ValidationFailure
- java.lang.Object
-
- net.sf.saxon.type.ValidationFailure
-
- All Implemented Interfaces:
javax.xml.transform.SourceLocator,ConversionResult,org.xml.sax.Locator
public class ValidationFailure extends java.lang.Object implements javax.xml.transform.SourceLocator, org.xml.sax.Locator, ConversionResult
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.
-
-
Constructor Summary
Constructors Constructor Description ValidationFailure(java.lang.Exception exception)Creates a new ValidationFailure with the given nested exception.ValidationFailure(java.lang.String message)Creates a new ValidationException with the given message.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AtomicValueasAtomic()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.intgetColumnNumber()java.lang.StringgetConstraintClauseNumber()Get the constraint clause numberjava.lang.StringgetConstraintName()Get the constraint namejava.lang.StringgetConstraintReference()Get the constraint name and clause in the format defined in XML Schema Part C (Outcome Tabulations).java.lang.StringgetConstraintReferenceMessage()Get the constraint reference as a string for inserting into an error message.intgetConstraintSchemaPart()Get the "schema part" component of the constraint referencejava.lang.StringgetErrorCode()StructuredQNamegetErrorCodeQName()intgetLineNumber()javax.xml.transform.SourceLocatorgetLocator()java.lang.StringgetMessage()java.lang.StringgetPublicId()java.lang.StringgetSystemId()ValidationExceptionmakeException()ValidationExceptionmakeException(java.lang.String contextMessage)voidsetColumnNumber(int column)voidsetConstraintReference(int schemaPart, java.lang.String constraintName, java.lang.String clause)Set a reference to the constraint in XML Schema that is not satisfiedvoidsetConstraintReference(ValidationFailure e)Copy the constraint reference from another exception objectvoidsetErrorCode(java.lang.String errorCode)voidsetErrorCodeQName(StructuredQName errorCode)voidsetLineNumber(int line)voidsetLocator(javax.xml.transform.SourceLocator locator)voidsetPublicId(java.lang.String id)voidsetSourceLocator(javax.xml.transform.SourceLocator locator)voidsetSystemId(java.lang.String id)java.lang.StringtoString()Returns the String representation of this Exception
-
-
-
Constructor Detail
-
ValidationFailure
public ValidationFailure(java.lang.String message)
Creates a new ValidationException with the given message.- Parameters:
message- the message for this Exception
-
ValidationFailure
public ValidationFailure(java.lang.Exception exception)
Creates a new ValidationFailure with the given nested exception.- Parameters:
exception- the nested exception
-
-
Method Detail
-
setConstraintReference
public void setConstraintReference(int schemaPart, java.lang.String constraintName, java.lang.String clause)Set a reference to the constraint in XML Schema that is not satisfied- Parameters:
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- Parameters:
e- the other exception object from which to copy the information
-
getConstraintReferenceMessage
public java.lang.String getConstraintReferenceMessage()
Get the constraint reference as a string for inserting into an error message.- Returns:
- 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- Returns:
- 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
-
getConstraintName
public java.lang.String getConstraintName()
Get the constraint name- Returns:
- 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.
-
getConstraintClauseNumber
public java.lang.String getConstraintClauseNumber()
Get the constraint clause number- Returns:
- 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.
-
getConstraintReference
public java.lang.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- Returns:
- the constraint reference, for example "cos-ct-extends.1.2"; or null if the reference is not known.
-
getMessage
public java.lang.String getMessage()
-
toString
public java.lang.String toString()
Returns the String representation of this Exception- Overrides:
toStringin classjava.lang.Object- Returns:
- the String representation of this Exception
-
getPublicId
public java.lang.String getPublicId()
- Specified by:
getPublicIdin interfaceorg.xml.sax.Locator- Specified by:
getPublicIdin interfacejavax.xml.transform.SourceLocator
-
getSystemId
public java.lang.String getSystemId()
- Specified by:
getSystemIdin interfaceorg.xml.sax.Locator- Specified by:
getSystemIdin interfacejavax.xml.transform.SourceLocator
-
getLineNumber
public int getLineNumber()
- Specified by:
getLineNumberin interfaceorg.xml.sax.Locator- Specified by:
getLineNumberin interfacejavax.xml.transform.SourceLocator
-
getColumnNumber
public int getColumnNumber()
- Specified by:
getColumnNumberin interfaceorg.xml.sax.Locator- Specified by:
getColumnNumberin interfacejavax.xml.transform.SourceLocator
-
setPublicId
public void setPublicId(java.lang.String id)
-
setSystemId
public void setSystemId(java.lang.String id)
-
setLineNumber
public void setLineNumber(int line)
-
setColumnNumber
public void setColumnNumber(int column)
-
setLocator
public void setLocator(javax.xml.transform.SourceLocator locator)
-
setSourceLocator
public void setSourceLocator(javax.xml.transform.SourceLocator locator)
-
getLocator
public javax.xml.transform.SourceLocator getLocator()
-
setErrorCode
public void setErrorCode(java.lang.String errorCode)
-
setErrorCodeQName
public void setErrorCodeQName(StructuredQName errorCode)
-
getErrorCode
public java.lang.String getErrorCode()
-
getErrorCodeQName
public StructuredQName getErrorCodeQName()
-
makeException
public ValidationException makeException()
-
makeException
public ValidationException makeException(java.lang.String contextMessage)
-
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.
- Specified by:
asAtomicin interfaceConversionResult- Returns:
- the atomic value that results from the conversion if the conversion was successful
- Throws:
ValidationException- if the conversion was not successful
-
-