[
https://issues.apache.org/jira/browse/COLLECTIONS-728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16990597#comment-16990597
]
Claude Warren commented on COLLECTIONS-728:
-------------------------------------------
Mutability: I think all issues are fixed with the exception of
HasherBloomFilter.
HasherBloomFilter extends BloomFilter. In the general case BloomFilter needs
to have a merge operation. I have updated the javadoc for the
HasherBloomFilter class to indicate that if merges are expected another Bloom
filter implementation may be more
appropriate.
HashFunction:
HashFunction extends ToLongBiFunction<byte[], Integer> so it is more than just
a name. We could make it more complex with boolean values for unsigned/signed
and cyclic/iterative but to what end? I think this class is a simple as it can
be but no simpler.
An Enum assumes you know all the possible values. We don't, we can't, and we
never will. In recent work with the Murmur128 hash in commons-codec it became
apparent that there are several implementations of the hash that are "broken"
with respect to the original "C" code. However, each of those is in use. If
this library were to be used with any of those implementations we would have to
include enums for patently "broken" hashes, or they have to have a way to
extend the implementation in a way that fits into this system. Adding a name
to the hash and not limiting it to an enum works. This is more akin to the
Java Cryptography Architecture with out the necessity of registering providers.
Though perhaps that is future work.
MD5: fixed.
> BloomFilter contribution
> ------------------------
>
> Key: COLLECTIONS-728
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-728
> Project: Commons Collections
> Issue Type: Task
> Reporter: Claude Warren
> Priority: Minor
> Attachments: BF_Func.md, BloomFilter.java, BloomFilterI2.java,
> Usage.md
>
>
> Contribution of BloomFilter library comprising base implementation and gated
> collections.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)