Update:  I have been rolling this stuff around and I
am nearly ready to have something to show.  In
general, and as the subject line suggests, I have
decided that implementing generic file collections as
resource collections may not be too difficult, and
could really open a lot of doors.  Some highlights of
what I'm working on, some of which are direct results
of suggestions from others (Stefan, Alexey, et al):

Resource.getInputStream() returns an InputStream

interface ResourceCollection {
  // for ease of use:
  Iterator iterator();
  // makes RC more like a Collection:
  int size();
  // to allow quick distinction for file-centric
tasks:
  boolean isFilesystemOnly();
}

Some of the ResourceCollections I have implemented:
files (dir-less fileset)
union, difference, intersect (set operations)
sort (sort Resources before returning)
restrict (with selectors)

I have also modified fileset, dirset, filelist and
path to implement ResourceCollection.  Hopefully
nobody has any major issues with this but I suppose if
they do now is the time to get them out.

I intend to be ready to unveil this stuff next week,
with a few tasks modified to use ResourceCollections
as a demo.  In the meantime, I would welcome
suggestions regarding the following:

1) a name for a ResourceCollection that acts like a
Union without removing duplicates.

2) should there be a reference-only (resources) type
that can generically use a ResourceCollection of an
unknown type?

Finally, I would like to reach a consensus on the
approach I should take to adding this; dump it all
into CVS HEAD or create a sandbox area?  If the
latter, I am still a little unclear on what tricks
could be used to make it easier to use modified core
code in a sandbox and would appreciate advice from
other committers.

Thanks,
Matt

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to