[ 
https://issues.apache.org/jira/browse/COLLECTIONS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claude Warren updated COLLECTIONS-853:
--------------------------------------
    Assignee: Claude Warren

> 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)

Reply via email to