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 AtomicValue
asAtomic()
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.int
getColumnNumber()
java.lang.String
getConstraintClauseNumber()
Get the constraint clause numberjava.lang.String
getConstraintName()
Get the constraint namejava.lang.String
getConstraintReference()
Get the constraint name and clause in the format defined in XML Schema Part C (Outcome Tabulations).java.lang.String
getConstraintReferenceMessage()
Get the constraint reference as a string for inserting into an error message.int
getConstraintSchemaPart()
Get the "schema part" component of the constraint referencejava.lang.String
getErrorCode()
int
getLineNumber()
javax.xml.transform.SourceLocator
getLocator()
java.lang.String
getMessage()
java.lang.String
getPublicId()
java.lang.String
getSystemId()
ValidationException
makeException()
void
setColumnNumber(int column)
void
setConstraintReference(int schemaPart, java.lang.String constraintName, java.lang.String clause)
Set a reference to the constraint in XML Schema that is not satisfiedvoid
setConstraintReference(ValidationFailure e)
Copy the constraint reference from another exception objectvoid
setErrorCode(java.lang.String errorCode)
void
setLineNumber(int line)
void
setLocator(javax.xml.transform.SourceLocator locator)
void
setPublicId(java.lang.String id)
void
setSourceLocator(javax.xml.transform.SourceLocator locator)
void
setSystemId(java.lang.String id)
java.lang.String
toString()
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:
toString
in classjava.lang.Object
- Returns:
- the String representation of this Exception
-
getPublicId
public java.lang.String getPublicId()
- Specified by:
getPublicId
in interfaceorg.xml.sax.Locator
- Specified by:
getPublicId
in interfacejavax.xml.transform.SourceLocator
-
getSystemId
public java.lang.String getSystemId()
- Specified by:
getSystemId
in interfaceorg.xml.sax.Locator
- Specified by:
getSystemId
in interfacejavax.xml.transform.SourceLocator
-
getLineNumber
public int getLineNumber()
- Specified by:
getLineNumber
in interfaceorg.xml.sax.Locator
- Specified by:
getLineNumber
in interfacejavax.xml.transform.SourceLocator
-
getColumnNumber
public int getColumnNumber()
- Specified by:
getColumnNumber
in interfaceorg.xml.sax.Locator
- Specified by:
getColumnNumber
in 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)
-
getErrorCode
public java.lang.String getErrorCode()
-
makeException
public ValidationException makeException()
-
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:
asAtomic
in interfaceConversionResult
- Returns:
- the atomic value that results from the conversion if the conversion was successful
- Throws:
ValidationException
- if the conversion was not successful
-
-