You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ad...@apache.org on 2002/11/17 04:30:13 UTC
cvs commit: jakarta-commons-sandbox/vfs/xdocs api.xml anttasks.xml filesystems.xml navigation.xml todo.xml getstarted.xml
adammurdoch 2002/11/16 19:30:13
Modified: vfs/xdocs anttasks.xml filesystems.xml navigation.xml
todo.xml
Added: vfs/xdocs api.xml
Removed: vfs/xdocs getstarted.xml
Log:
Added a little more doco.
Revision Changes Path
1.2 +80 -5 jakarta-commons-sandbox/vfs/xdocs/anttasks.xml
Index: anttasks.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/anttasks.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- anttasks.xml 28 Oct 2002 02:05:30 -0000 1.1
+++ anttasks.xml 17 Nov 2002 03:30:13 -0000 1.2
@@ -29,23 +29,98 @@
</section>
<section name="Copy">
- <p>Copies a set of files to a destination folder.</p>
+ <p>Copies a set of files to a destination folder. Does not copy
+ source files where the destination file exists and is newer than
+ the source file. The copy task takes the following attributes:</p>
+
+ <table>
+ <tr><th>Name</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>destdir</td>
+ <td>The destination folder. This folder is created if it
+ does not exist.</td>
+ <td rowspan="2">One only</td>
+ </tr>
+ <tr>
+ <td>destfile</td>
+ <td>The destination file. Can only be used if there is a
+ single source file.</td>
+ </tr>
+ <tr>
+ <td>overwrite</td>
+ <td>Always copy files, ignoring the last-modified time of
+ the destination file.</td>
+ <td>No, default is <code>false</code>.</td>
+ </tr>
+ <tr>
+ <td>preservelastmodified</td>
+ <td>Set the last-modified time of destination files to
+ the same value as the source files. May not be supported
+ by the destination file system.</td>
+ <td>No, default is <code>true</code>.</td>
+ </tr>
+ <tr>
+ <td>src</td>
+ <td>A source file or folder to copy. Copies all descendents
+ of a folder.</td>
+ <td>No</td>
+ </tr>
+ </table>
+
+ <subsection name="Nested Elements">
+ <p><b>src</b></p>
+
+ <p>Defines a source file or folder to copy. It takes the
+ following attributes:</p>
+
+ <table>
+ <tr><th>Name</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>file</td>
+ <td>The source file.</td>
+ <td>Yes</td>
+ </tr>
+ </table>
+ </subsection>
+
</section>
<section name="Move">
- <p>Moves a set of files to a destination folder.</p>
+ <p>Moves a set of files to a destination folder. Has the same
+ attributes and elements as the copy task.</p>
</section>
<section name="Sync">
- <p>Synchronises a destination folder with a set of source files.</p>
+ <p>Synchronises a destination folder with a set of source files.
+ Has the same attributes and elements as the copy task.</p>
</section>
<section name="Delete">
- <p>Deletes a file or folder.</p>
+ <p>Deletes a file or folder. It takes the following attributes:</p>
+
+ <table>
+ <tr><th>Name</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>file</td>
+ <td>The file or folder to delete. All descendents of
+ the folder are deleted.</td>
+ <td>Yes</td>
+ </tr>
+ </table>
</section>
<section name="Mkdir">
- <p>Creates a folder.</p>
+ <p>Creates a folder. It takes the following attributes:</p>
+
+ <table>
+ <tr><th>Name</th><th>Description</th><th>Required</th></tr>
+ <tr>
+ <td>dir</td>
+ <td>The folder create.</td>
+ <td>Yes</td>
+ </tr>
+ </table>
+
</section>
</body>
</document>
1.2 +3 -3 jakarta-commons-sandbox/vfs/xdocs/filesystems.xml
Index: filesystems.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/filesystems.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- filesystems.xml 28 Oct 2002 02:05:30 -0000 1.1
+++ filesystems.xml 17 Nov 2002 03:30:13 -0000 1.2
@@ -7,7 +7,7 @@
<body>
<section name="Supported File Systems">
- <p>Listed below are the supported file systems:</p>
+ <p>The VFS currently supports the following file systems:</p>
<ul>
<li><a href="#Local Files">Local Files</a></li>
<li><a href="#Zip and Jar Files">Zip and Jar Files</a></li>
@@ -118,8 +118,8 @@
<p>
Provides access to a temporary file system, or scratchpad,
- that gets deleted when the VFS is closed. The temporary file
- system is, by default, backed by local files.
+ that is deleted when the VFS shuts down. The temporary file
+ system is backed by a local file system.
</p>
<p><b>URI Format</b></p>
1.4 +1 -1 jakarta-commons-sandbox/vfs/xdocs/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/navigation.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- navigation.xml 28 Oct 2002 02:05:30 -0000 1.3
+++ navigation.xml 17 Nov 2002 03:30:13 -0000 1.4
@@ -8,7 +8,7 @@
<menu name="VFS">
<item name="Overview" href="/index.html"/>
<item name="Download" href="/download.html"/>
- <item name="Getting Started" href="/getstarted.html"/>
+ <item name="Using the API" href="/api.html"/>
<item name="File Systems" href="/filesystems.html"/>
<item name="Ant Tasks" href="/anttasks.html"/>
<item name="To Do List" href="/todo.html"/>
1.3 +41 -25 jakarta-commons-sandbox/vfs/xdocs/todo.xml
Index: todo.xml
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/vfs/xdocs/todo.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- todo.xml 28 Oct 2002 02:05:30 -0000 1.2
+++ todo.xml 17 Nov 2002 03:30:13 -0000 1.3
@@ -9,49 +9,65 @@
<body>
<section name="TODO">
<p>
- The following is a list of items that need to be completed.
- Contributions are welcome!.
+ The following is a list of items that need to be completed.
+ Contributions are welcome!.
</p>
<ul>
- <li>More documentation</li>
- <li>Add more providers: http, webdav, resources, tar, gzip, cvs, jndi, etc</li>
+ <li>More documentation (status, how to build, jar dependencies, etc)</li>
+ <li>Add more providers: http, webdav, resources, tar, gzip, cvs, subversion, jndi, etc</li>
<li>Formalise the provider API.</li>
- <li>The in-memory caching mechanism is pretty rudimentary at
- this stage. It needs work to make it size capped. In addition,
- some mechanism needs to be provided to release and refresh
- cached info.</li>
- <li>The on-disk caching mechanism also needs more work. Needs
- to check last-modified time. Replicator needs to be more
- configurable.</li>
+ <li>
+ The in-memory caching mechanism is pretty rudimentary at
+ this stage. It needs work to make it size capped. In addition,
+ some mechanism needs to be provided to release and refresh
+ cached info.</li>
+ <li>
+ The on-disk caching mechanism also needs more work. Needs
+ to check last-modified time. Replicator needs to be more
+ configurable.</li>
<li>Add persistent replicator.</li>
<li>Add local mirroring.</li>
- <li>Change AbstractLayeredFileSystem to track changes to
- the parent file object. Eg when the parent file is deleted,
- mark all the files in the fs as 'does-not-exist'.</li>
+ <li>
+ Change AbstractLayeredFileSystem to track changes to
+ the parent file object. Eg when the parent file is deleted,
+ mark all the files in the fs as 'does-not-exist'.</li>
<li>Change AbstractLayeredFileSystem to support writeable
- layered fs.</li>
+ layered fs.</li>
<li>Make StandardFileSystemManager configurable from an XML descriptor.</li>
<li>Change the model so that folders may have content.</li>
- <li>Add support for junctions (ie links).</li>
- <li>Add support for federation (ie transparently crossing file
- system boundaries, such as drilling down into the contents
- of a Jar file).</li>
- <li>Add Filtering file systems, which sit on top of another
- file system, and alter the contents. For example, gzip or bzip2.</li>
+ <li>
+ Finish support for junctions: Make ancestors of a junction
+ point visible, fire events when junction is added or removed,
+ tests.</li>
+ <li>
+ Add support for federation (ie transparently crossing file
+ system boundaries, such as drilling down into the contents
+ of a Jar file).</li>
+ <li>
+ Add Filtering file systems, which sit on top of another
+ file system, and alter the contents. For example, gzip or bzip2.</li>
<li>Add an equivalent of the fileScanner Jelly tag.</li>
<li>Add an equivalent of Ant fileset.</li>
- <li>Allow selectors, name mappers, and filters to be specified
- for the Ant tasks.</li>
+ <li>
+ Allow selectors, name mappers, and filters to be specified
+ for the Ant tasks.</li>
<li>Capabilities discovery.</li>
<li>Attributes and attribute schema.</li>
- <li>Handle file canonicalisation better (for cases like
- case-insensitive file systems, symbolic links, name mangling, etc).</li>
+ <li>
+ Handle file canonicalisation better (for cases like
+ case-insensitive file systems, symbolic links, name mangling, etc).</li>
<li>Add more selectors: XPath, Ant style, regular expression.</li>
<li>Add adaptor for use with JXpath.</li>
<li>Add contentChanged event to FileListener.</li>
<li>Provide a hook for authentication.</li>
<li>Sort out threading model.</li>
+ <li>Add a file monitor, that watches for external changes to files.</li>
+ <li>
+ Look at adding native code for fine-grained control over permissions,
+ file monitoring, faster moves, etc. Must be optional - the
+ thing should still build and run without the native code.
+ </li>
</ul>
</section>
</body>
1.1 jakarta-commons-sandbox/vfs/xdocs/api.xml
Index: api.xml
===================================================================
<document>
<properties>
<title>Using The API</title>
<author email="adammurdoch@apache.org">Adam Murdoch</author>
</properties>
<body>
<section name="Getting Started">
<p>
The <a href="apidocs/org/apache/commons/vfs/FileSystemManager.html"><code>FileSystemManager</code></a>
interface provides access to the VFS. Using this interface
you can locate files and create file systems.
There are a number of ways to obtain a <code>FileSystemManager</code>
instance:
</p>
<ul>
<li>
Use the static
<a href="apidocs/org/apache/commons/vfs/VFS.html#getManager()"><code>VFS.getManager()</code></a>
method, which returns the default VFS implementation.
</li>
<li>
Create an instance of
<a href="apidocs/org/apache/commons/vfs/impl/DefaultFileSystemManager.html"><code>DefaultFileSystemManager</code></a>
and configure it manually. <code>DefaultFileSystemManager</code>
does not include any providers or other services. You
will have to add these to make it do anything useful.
</li>
<li>
Create an instance of
<a href="apidocs/org/apache/commons/vfs/impl/StandardFileSystemManager.html"><code>StandardFileSystemManager</code></a>,
a useful subclass of <code>DefaultFileSystemManager</code>
that includes all the standard providers and services.
You can add extra providers, or replace the standard
providers with custom implementations.
</li>
</ul>
<p>
Once you have a <code>FileSystemManager</code>, you can use one
of its <code>resolveFile()</code> methods to locate a file by name.
For example:
</p>
<source><![CDATA[
FileSystemManager fsManager = VFS.getManager();
FileObject aJarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
]]></source>
<p>
Each file is represented by a
<a href="apidocs/org/apache/commons/vfs/FileObject.html"><code>FileObject</code></a>
instance. Using this interface you can create or delete the
file, list its children, read or write its content, and so on.
For example:
</p>
<source><![CDATA[
// Locate the Jar file
FileSystemManager fsManager = VFS.getManager();
FileObject aJarFile = fsManager.resolveFile( "jar:lib/aJarFile.jar" );
// List the children of the Jar file
FileObject[] children = fsManager.getChildren();
System.println( "Children of " + aJarFile.getName().getURI() );
for ( int i = 0; i < children.length; i++ )
{
System.println( children[ i ].getName().getBaseName() );
}
]]></source>
<p>See the Javadocs for <code>FileObject</code> for more detail.</p>
</section>
</body>
</document>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>