The Extended Universal Resource Locator library provides a complete virtualization of file-like objects. How data is stored is completely transparent to the client, since the library is meant to replace java.io.File. It provides implementations for handling local files, Jar/Zip archives, and XML documents. (Implementations for CVS and FTP are available seperately.) Other storage providers can be written and plugged in. It also provides a merged filesystem implementation that allows multiple hierarchies to appear as one and to override each other in a controlled way. Other features include notification of changes to files, and support for attaching (dynamically updatable) actions to file objects.