SS,

It's easy to change the FC interface methods return value from List to 
Collection n the JUMP CVS codebase.

But you risk breaking a lot of external plugins which have been coded to 
the current interface.  I don't really see a pressing need to do this, 
so I would vote against it.

Sunburned Surveyor wrote:
> Martin,
>
> This makes perfect sense. Thank you for the clarification. If no one 
> has an objection I will make a not of it in the Javadoc API. I might 
> also see if I can refactor the FeatureCollection interface to use 
> java.util.Collection on the other two methods. This will give me some 
> practice with Refactoring. (I won't commit these changes to the CVS 
> until I know it works and I've had a chance to talk to the other 
> developers.)
>
> SS
>
> On 4/27/07, *Martin Davis* <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>> wrote:
>
>     The fact that getFeatures and query return a List is probably an
>     undesirable widening of the API.  For maximum flexibility for
>     implementors, they should all return Collection.  This was just an
>     oversight in the original design.
>
>     The reason that remove(Envelope) returns a collection of the removed
>     features while the others don't is that in the other two methods the
>     caller already knows which features are the ones which are to be
>     removed.  In the case of remove(Envelope) the only way to know
>     what has
>     happened is to get the method to report which features it removed.
>
>     Sunburned Surveyor wrote:
>     > I've been working on my FeatureCache and I've got a couple of
>     > questions about the FeatureCollection interface.
>     >
>     > Three of the methods of the interface return instances of
>     > java.util.Collection. The getFeatures() method and the query()
>     methods
>     > return instances of java.util.List, while the remove() method
>     returns
>     > an instance that implements the java.util.Collection interface. I am
>     > wondering why these three methods don't consistently return
>     instances
>     > of java.util.List or instances of java.util.Collection. Why is the
>     > return value of the remove() method different from the other two
>     methods?
>     >
>     > I also noted that there are three methods that perform removal of
>     > Feature objects from the FeatureCollection, but only one of these
>     > methods, the remove(Envelope env) method, returns the Feature
>     objects
>     > removed as an instance of java.util.Collection. The remove(Feature
>     > feature) method and the removeAll(Collection features) method do
>     not
>     > return the Features removed. Is there a reason why this behavior is
>     > not consistent?
>     >
>     > I'm just curious. It seems the Vivid Solutions team always had
>     reasons
>     > for doing things that aren't readily apparent because of my lack of
>     > programming experience.
>     >
>     > Thank you an advance for any clarification.
>     >
>     > The Sunburned Surveyor
>     >
>     ------------------------------------------------------------------------
>     >
>     >
>     -------------------------------------------------------------------------
>     > This SF.net email is sponsored by DB2 Express
>     > Download DB2 Express C - the FREE version of DB2 express and take
>     > control of your XML. No limits. Just data. Click to get it now.
>     > http://sourceforge.net/powerbar/db2/
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Jump-pilot-devel mailing list
>     > Jump-pilot-devel@lists.sourceforge.net
>     <mailto:Jump-pilot-devel@lists.sourceforge.net>
>     > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>     >
>
>     --
>     Martin Davis
>     Senior Technical Architect
>     Refractions Research, Inc.
>     (250) 383-3022
>
>
>     -------------------------------------------------------------------------
>
>     This SF.net email is sponsored by DB2 Express
>     Download DB2 Express C - the FREE version of DB2 express and take
>     control of your XML. No limits. Just data. Click to get it now.
>     http://sourceforge.net/powerbar/db2/
>     _______________________________________________
>     Jump-pilot-devel mailing list
>     Jump-pilot-devel@lists.sourceforge.net
>     <mailto:Jump-pilot-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ------------------------------------------------------------------------
>
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>   

-- 
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to