[
https://issues.apache.org/jira/browse/COLLECTIONS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claude Warren resolved COLLECTIONS-853.
---------------------------------------
Resolution: Fixed
fixed with pull request #481
> API changes to LayeredBloomFilter, LayerManager and WrappedBloomFilter
> ----------------------------------------------------------------------
>
> Key: COLLECTIONS-853
> URL: https://issues.apache.org/jira/browse/COLLECTIONS-853
> Project: Commons Collections
> Issue Type: Improvement
> Affects Versions: 4.5.0-M1
> Reporter: Claude Warren
> Assignee: Claude Warren
> Priority: Major
>
> After looking at the LayeredBloomFilter and the LayerManager and the way it
> is intended to be used I found a couple of changes that we might want to
> consider.
> 1) WrappedBloomFilter should not implement copy(), that should be left to the
> wrapping implementation.
> 2) We change LayerManager to be a templated type that contains a List<T
> extends BloomFilter> and add two methods first() and last() to retrieve the
> first and last internal filters respectively. These are common queries and
> should be directly implemented.
> 3) We change LayeredBloomFilter to be a templated type <T extends
> BloomFilter> where T is the type of BloomFilter to be used for each Layer.
> For example the use of LayeredBloomFilter for KIP-936 requires a BloomFilter
> with an associated timestamp. So when copy() is called for duplication it
> must create the same BloomFilter. It uses WrappedBloomFilter to add the
> timestamp property. The LayeredBloomFilter in KIP-936 actually stores a
> custom TimestampedBloomFilter implementation that extends WrappedBloomFilter.
> This is a rather deep change to LayeredBloomFilter but I think Alex is
> correct that we should use List, but that usage dictates that we use T
> extends BloomFilter as the type.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)