| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.saxonica.validate.AbstractWatch
com.saxonica.validate.SelectorWatch
public abstract class SelectorWatch
A Watch represents a class that is interested in looking at nodes for the purpose of evaluating uniqueness and key constraints. A SelectorWatch looks for the nodes that match the selector in a unique, key, or keyref constraint. There are two concrete subclasses: one for key/unique, the other for keyref
| Constructor Summary | |
|---|---|
| SelectorWatch(ConstraintChecker checker,
              IdentityConstraint uniqueConstraint) | |
| Method Summary | |
|---|---|
|  void | addFieldValue(Value[] currentRow,
              int column,
              Value value,
              boolean nillableElement,
              long locationId)The addFieldValue method is a callback from the FieldWatch created when this SelectorWatch is activated. | 
| protected  void | checkRow(Value[] currentRow,
         boolean isTarget,
         int locationId)Method to check that a row (that is, the collection of fields corresponding to one selected node) is valid. | 
|  void | close()The close() method is called immediately before the Watch is destroyed, that is, when the element whose declaration scopes the constraint implemented by this Watch goes out of scope. | 
| protected  String | displayRow(Value[] row)Internal method to display the contents of a row, for diagnostics | 
|  void | endSelectedParentNode(int locationId)Signal that the endElement event has occurred for the element whose startElement event caused the Watch to be activated. | 
|  IdentityConstraint | getIdentityConstraint()Get the identityConstraint implemented by this SelectorWatch | 
| protected  void | reportValidationError(ValidationException err,
                      long locationId)Report a validation error | 
| protected  void | reportValidationError(ValidationException err,
                      SourceLocator locator)Report a validation error | 
|  Receiver | startSelectedParentNode(FleetingNode node,
                        int locationId)Signal that an element has been found that matches the selection that this Watch is looking for. | 
| Methods inherited from class com.saxonica.validate.AbstractWatch | 
|---|
| getAnchorNode, getNamespaceResolver, getPipelineConfiguration, getSelection, notifySelectedLeafNode, open, setAnchorNode, setNamespaceResolver, setPipelineConfiguration, setSelection | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface com.saxonica.stream.watch.Watch | 
|---|
| getAnchorNode, getNamespaceResolver, getPipelineConfiguration, getSelection, notifySelectedLeafNode, open, setAnchorNode, setNamespaceResolver, setPipelineConfiguration, setSelection | 
| Constructor Detail | 
|---|
public SelectorWatch(ConstraintChecker checker,
                     IdentityConstraint uniqueConstraint)
| Method Detail | 
|---|
public IdentityConstraint getIdentityConstraint()
public Receiver startSelectedParentNode(FleetingNode node,
                                        int locationId)
                                 throws XPathException
startSelectedParentNode in interface Watchnode - the element or document node whose start event has been matchedlocationId - the location associated with the element or document node (may be
 the location of the instruction that created it)
ValidationException - May be raised if the constraint implemented by this
 Watch is violated
XPathException
public void endSelectedParentNode(int locationId)
                           throws ValidationException
endSelectedParentNode in interface WatchlocationId - the location of the element
ValidationException - May be raised if the constraint implemented by this
 Watch is violated @param locationId
public void close()
           throws ValidationException
close in interface Watchclose in class AbstractWatchValidationException
public void addFieldValue(Value[] currentRow,
                          int column,
                          Value value,
                          boolean nillableElement,
                          long locationId)
                   throws ValidationException
currentRow - identifying the node to which this field value
 appliescolumn - identifies which of the fields participating in this constraint
 the value relates tovalue - The value of the field that was encounterednillableElement - True if the field represents a nillable elementlocationId - the location of the data in the source document
ValidationException - May be raised if the value of the field violates
 the constraint
protected void checkRow(Value[] currentRow,
                        boolean isTarget,
                        int locationId)
                 throws ValidationException
currentRow - the values of the set of fieldsisTarget - set to true if this is a value of the key referred to
 by a key reference, rather than a value for this constraint's own selected
 fields.locationId - identifies the location of the selected node
ValidationException - is raised if the value of the row (that is,
 the combination of fields) violates the constraintprotected String displayRow(Value[] row)
protected void reportValidationError(ValidationException err,
                                     long locationId)
                              throws ValidationException
err - The validation exceptionlocationId - identifies the location in the source document or stylesheet/query where the
 validation error was detected
ValidationException
protected void reportValidationError(ValidationException err,
                                     SourceLocator locator)
                              throws ValidationException
err - The validation exceptionlocator - identifies the location in the source document or stylesheet/query where the
 validation error was detected
ValidationException| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||