|
Derives a hash code suitable for use in hashing algorithms and
data structures like hash tables.
The default hash code is derived from the underlying object
within the PDF document. In some situations you may wish to derive
a hash code from just some aspects of the IndirectObject. You can
do this using the overload which takes a ComparisonType
argument.
The ComparisonType enumeration is a flags type enumeration so
the different values can be combined together using bitwise
operations. It may take the following values:
- None (nothing)
- Object (the underlying PDF object)
- ID (the ID of the
IndirectObject)
- Atom (the value of the Atom)
- Data (the data associated with the stream - if this is a
stream)
The hash code can be made up of a variety of parts of the
indirect object combined together. The ID and the Atom hash codes
are derived from the value of the ID and Atom respectively. The
Data hash code is made from a sample of the compressed data
contained in the stream. So two StreamObjects, compressed
differently, will return different hash codes even if the
uncompressed data is identical. The data sample is kept small - in
the order of a few hundred bytes - to ensure a fast response even
for very large streams.
|