On Mon, Aug 10, 2009 at 4:07 PM, Jörn Kottmann<kottm...@gmail.com> wrote:
> Marshall Schor wrote:
>>
>> The generification of FSIndex currently specifies one type, <T extends
>> FeatureStructure> that is the type of item being returned.
>>
>>
>> The contains and find methods have arguments of type FeatureStructure.
>> These could be changed to take type "T".
>>
>
> No I do not think that they could be changed to take type T.
> Lets take the case of the contains method.
> The javadoc says:
> "Check if the index contains an element equal to the given feature structure
> according to the
> ordering of the index. Note that this is in general not the same as feature
> structure identity."
> and it for the param fs it says "The FS we're looking for.". There is no
> place where
> it says that contains can only be called for FSes which have the type of the
> index.
>
> The change of the parameter from FeatureStructure to T would also change
> the contract of the method a little, because then it would not be possible
> anymore
> to pass a FeatureStructure which has not type T.
>

I agree.  It's sometimes useful to call FSIterator.moveTo method and
pass an FS of a Type other than the one that the index was defined
over, as part of implementing something like a subiterator.
  -Adam

Reply via email to