> -----Original Message-----
> From: Matt Benson [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, 26 September 2006 6:28 AM
> To: Ant Developers List
> Subject: RE: Resource.getURL()
[snip]
> > Matt:
> >
> > Can you expand on what you mean by "a string representation of a
> > Resource"?
> > Are your implying something equivalent to the way a URL can be
> > externalized to a string (which could be done if all resources are
> > associated with dedicated url handlers). Some concrete
> > usage examples would be handy.
> >
> > /Steve.
>
> Exactly. Take for example the echo task. It defines a
> method like public void setFile(File).
> Ant knows how to resolve file="somefile" to a File object.
> Resources' OutputStream is hardly used at present; the
> concept behind its (OutputStream's) addition to the API is:
>
> <echo to="property:foo">bar</echo>
>
> I used "to" here; maybe the right name is "toresource"
> or simply "resource" as is "file". The implementation of
> setFile(File f) would be:
>
> setTo(new FileResource(f));
>
> This is the exact use case driving this, from my perspective
> anyway. It should be solvable, as you mention, using either
> application-level pseudo-protocols or custom protocol
> handlers. But without this functionality I will consider any
> solution incomplete.
OK - now things are making more sense. In effect the 'property:foo' is a
resource identifier in that the resource protocol is 'property' and the
resource name is 'foo'.
For the other resource types:
tar:[name] TarResource in memory tar archive
zip:[name] ZipArchive in memory zip archive
bzip:[name] BZipResource in memory compressed archive
gzip:[name] GZipArchive in memory compressed archive
file:[name] FileResource named reference to file or
directory
property:[name] PropertyResource in memory property binding
string:[name] StringResource in memory string value
uri:[name] URLResource named reference to a streamable
source
defined by a URL
I have not included CompressedResource or JavaResource resource in the above
list because my impression is that these two are both abstract resource
definitions. For example, something like 'class:[name]' could map to a
resource class derived from JavaResource. E.g:
class:[name] ClassResource named reference to classname and
path
handler:[name] HandlerResource named reference to a protocol
handler
Also important to note is that:
* all of the above return URLs that are in fact URIs identifiy
the resource instance
Does that sound correct?
/Steve.
--------------------------
Stephen McConnell
mailto:[EMAIL PROTECTED]
http://www.dpml.net
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]