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