Class FieldChecker

  • All Implemented Interfaces:
    javax.xml.transform.Result, Receiver

    public class FieldChecker
    extends AbstractReceiver
    A FieldChecker is instantiated when a field in an identity constraint is matched; it receives notification of all events until the end of the element (or attribute) that matched the selector.
    • Constructor Detail

      • FieldChecker

        public FieldChecker​(SelectorWatch parentWatch,
                            Pattern selection,
                            AtomicSequence[] currentRow,
                            int column)
        Create a new FieldChecker
        Parameters:
        parentWatch - The SelectorWatch to which field values should be notified
        selection - The selection (that is, the restricted XPath expression) used in this field of the constraint
        currentRow - represents the selected node whose fields are being evaluated
        column - sequence number for this field within the constraint being evaluated
    • Method Detail

      • setNamespaceResolver

        public void setNamespaceResolver​(NamespaceResolver resolver)
        Set a NamespaceResolver for use by the FieldChecker
        Parameters:
        resolver - the namespace resolver to be used
      • startElement

        public void startElement​(NodeName nameCode,
                                 SchemaType typeCode,
                                 AttributeMap attributes,
                                 NamespaceMap namespaces,
                                 Location location,
                                 int properties)
                          throws XPathException
        Notify the start of an element
        Specified by:
        startElement in interface Receiver
        Overrides:
        startElement in class AbstractReceiver
        Parameters:
        nameCode - integer code identifying the name of the element within the name pool.
        typeCode - integer code identifying the element's type within the name pool. The value -1 indicates the default type, xs:untyped.
        attributes -
        location - location of the start tag
        properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
        namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
        Throws:
        XPathException - if an error occurs
      • notifySelectedAttribute

        public void notifySelectedAttribute​(FleetingNode attribute,
                                            Location locationId)
                                     throws XPathException
        Notify an attribute that matches the selection. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.
        Parameters:
        attribute - the attribute node being notified
        locationId - the location for error reporting purposes
        Throws:
        XPathException - if a dynamic error occurs
      • characters

        public void characters​(java.lang.CharSequence chars,
                               Location locationId,
                               int properties)
                        throws XPathException
        Notify character data. Note that some receivers may require the character data to be sent in a single event, but in general this is not a requirement.
        Specified by:
        characters in interface Receiver
        Overrides:
        characters in class AbstractReceiver
        Parameters:
        chars - The characters
        locationId - an integer which can be interpreted using a LocationMap to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        properties - Bit significant value. The following bits are defined:
        Throws:
        XPathException - if an error occurs
      • close

        public 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.
        Specified by:
        close in interface Receiver
        Overrides:
        close in class AbstractReceiver
      • usesTypeAnnotations

        public boolean usesTypeAnnotations()
        Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
        Specified by:
        usesTypeAnnotations in interface Receiver
        Overrides:
        usesTypeAnnotations in class AbstractReceiver
        Returns:
        true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation