Class CheckSumFilter

  • All Implemented Interfaces:
    Result, Receiver

    public class CheckSumFilter
    extends ProxyReceiver
    A filter to go on a Receiver pipeline and calculate a checksum of the data passing through the pipeline. Optionally the filter will also check any checksum (represented by a processing instruction with name SIGMA) found in the file.

    The checksum takes account of element, attribute, and text nodes only. The order of attributes within an element makes no difference.

    • Field Detail

      • checksum

        int checksum
      • sequence

        int sequence
      • checkExistingChecksum

        boolean checkExistingChecksum
      • checksumCorrect

        boolean checksumCorrect
      • checksumFound

        boolean checksumFound
    • Constructor Detail

      • CheckSumFilter

        public CheckSumFilter​(Receiver nextReceiver)
    • Method Detail

      • setCheckExistingChecksum

        public void setCheckExistingChecksum​(boolean check)
        Ask the filter to check any existing checksums found in the file
        Parameters:
        check - true if existing checksums are to be checked
      • attribute

        public void attribute​(NodeName nameCode,
                              SimpleType typeCode,
                              CharSequence value,
                              Location locationId,
                              int properties)
                       throws XPathException
        Notify an attribute. Attributes are notified after the startElement event, and before any children. Namespaces and attributes may be intermingled.
        Specified by:
        attribute in interface Receiver
        Overrides:
        attribute in class ProxyReceiver
        Parameters:
        nameCode - The name of the attribute
        typeCode - The type of the attribute
        value - The attribute value
        locationId - The location of the attribute
        properties - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
        Disable escaping for this attribute
        NO_SPECIAL_CHARACTERS
        Attribute value contains no special characters
        Throws:
        XPathException - if an error occurs
      • characters

        public void characters​(CharSequence chars,
                               Location locationId,
                               int properties)
                        throws XPathException
        Character data
        Specified by:
        characters in interface Receiver
        Overrides:
        characters in class ProxyReceiver
        Parameters:
        chars - The characters
        locationId - provides information such as line number and system ID.
        properties - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
        Disable escaping for this text node
        USE_CDATA
        Output as a CDATA section
        Throws:
        XPathException - if an error occurs
      • startElement

        public void startElement​(NodeName elemName,
                                 SchemaType typeCode,
                                 Location location,
                                 int properties)
                          throws XPathException
        Notify the start of an element
        Specified by:
        startElement in interface Receiver
        Overrides:
        startElement in class ProxyReceiver
        Parameters:
        elemName - integer code identifying the name of the element within the name pool.
        typeCode - integer code identifying the element's type within the name pool.
        location - location of the element
        properties - properties of the element node
        Throws:
        XPathException - if an error occurs
      • processingInstruction

        public void processingInstruction​(String target,
                                          CharSequence data,
                                          Location locationId,
                                          int properties)
                                   throws XPathException
        Processing Instruction
        Specified by:
        processingInstruction in interface Receiver
        Overrides:
        processingInstruction in class ProxyReceiver
        Parameters:
        target - The PI name. This must be a legal name (it will not be checked).
        data - The data portion of the processing instruction
        locationId - provides information such as line number and system ID.
        properties - Additional information about the PI.
        Throws:
        XPathException - if an error occurs
      • isChecksumFound

        public boolean isChecksumFound()
        Ask whether a checksum has been found
        Returns:
        true if a checksum processing instruction has been found (whether or not the checksum was correct)
      • getChecksum

        public int getChecksum()
        Get the accumulated checksum
        Returns:
        the checksum of the events passed through the filter so far.
      • isChecksumCorrect

        public boolean isChecksumCorrect()
        Ask if a correct checksum has been found in the file
        Returns:
        true if a checksum has been found, if its value matches, and if no significant data has been encountered after the checksum