## com.saxonica.validate
Class ConstraintChecker

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              com.saxonica.stream.watch.WatchManager
                  com.saxonica.validate.ConstraintChecker

All Implemented Interfaces:
  Result, Receiver, NamespaceResolver

    public class ConstraintChecker

extends WatchManager

This class handles the checking of Schema-defined unique, key, and keyref constraints. It keeps track of the nesting of elements, and notifies a Watcher class when an element is found that matches a particular Selector.

Field Summary

Fields inherited from class com.saxonica.stream.watch.WatchManager
`activeWatchStack, elementStackTop, watchList`

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic, systemId`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`ConstraintChecker(StartTagBuffer startTagBuffer, Configuration config)`

Method Summary
`protected void` `addPrearrangedWatches()`
`StructuredQName` `getErrorCode()`
`boolean` `isInvalid()`
`void` `setElementDeclaration(ElementDecl decl)` setElementDeclaration is called immediately before the call on startElement.
`void` `setErrorCode(StructuredQName errorCode)`

Methods inherited from class com.saxonica.stream.watch.WatchManager
`addWatch, attribute, characters, comment, endDocument, endElement, getDocumentNode, getStartTagBuffer, getURIForPrefix, getXPathContext, iteratePrefixes, namespace, processingInstruction, setXPathContext, startContent, startDocument, startElement, usesTypeAnnotations`

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, close, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, open, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`append, getPipelineConfiguration, getSystemId`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ConstraintChecker

    public ConstraintChecker(StartTagBuffer startTagBuffer,
                             Configuration config)

Method Detail

### setElementDeclaration

    public void setElementDeclaration(ElementDecl decl)
                               throws XPathException

  setElementDeclaration is called immediately before the call on startElement. It identifies the element declaration that defines the just-started element, which in turn is used to create a Watch for constraints originating at this element.

  Throws:
    `XPathException`

### addPrearrangedWatches

    protected void addPrearrangedWatches()
                                  throws XPathException

  Overrides:
    `addPrearrangedWatches` in class `WatchManager`
  Throws:
    `XPathException`

### setErrorCode

    public void setErrorCode(StructuredQName errorCode)

### getErrorCode

    public StructuredQName getErrorCode()

### isInvalid

    public boolean isInvalid()

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.