|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.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 Watch
node
- 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 Watch
locationId
- the location of the element
ValidationException
- May be raised if the constraint implemented by this
Watch is violated @param locationIdpublic void close() throws ValidationException
close
in interface Watch
close
in class AbstractWatch
ValidationException
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 constraintprotected 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 |