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]