I knew it would happen sooner or later - forgot to attach the patch. It's here
this time.
Jon
Index: src/main/org/apache/tools/ant/AntClassLoader.java
===================================================================
RCS file:
/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/AntClassLoader.java,v
retrieving revision 1.41
diff -u -r1.41 AntClassLoader.java
--- src/main/org/apache/tools/ant/AntClassLoader.java 20 Feb 2002 14:54:28
-0000 1.41
+++ src/main/org/apache/tools/ant/AntClassLoader.java 22 Feb 2002 09:55:09
-0000
@@ -115,7 +115,7 @@
private URL nextResource;
/**
- * Construct a new enumeration of resources of the given name found
+ * Constructs a new enumeration of resources of the given name found
* within this class loader's classpath.
*
* @param name the name of the resource to search for.
@@ -140,7 +140,7 @@
/**
* Returns the next resource in the enumeration.
*
- * @return the next resource in the enumeration.
+ * @return the next resource in the enumeration
*/
public Object nextElement() {
URL ret = this.nextResource;
@@ -211,19 +211,20 @@
private Vector loaderPackages = new Vector();
/**
- * This flag indicates that the classloader will ignore the base
- * classloader if it can't find a class. This is set by the
- * [EMAIL PROTECTED] #setIsolated(boolean) setIsolated} method.
+ * Whether or not this classloader will ignore the base
+ * classloader if it can't find a class.
+ *
+ * @see #setIsolated(boolean)
*/
private boolean ignoreBase = false;
/**
- * The parent class loader, if one is given or can be determined
+ * The parent class loader, if one is given or can be determined.
*/
private ClassLoader parent = null;
/**
- * A hashtable of zip files opened by the classloader (File to ZipFile)
+ * A hashtable of zip files opened by the classloader (File to ZipFile).
*/
private Hashtable zipFiles = new Hashtable();
@@ -277,11 +278,11 @@
/**
- * Create a classloader for the given project using the classpath given.
+ * Creates a classloader for the given project using the classpath given.
*
- * @param project the project to which this classloader is to belong.
+ * @param project The project to which this classloader is to belong.
* Must not be <code>null</code>.
- * @param classpath the classpath to use to load the classes. This
+ * @param classpath The classpath to use to load the classes. This
* is combined with the system classpath in a manner
* determined by the value of ${build.sysclasspath}.
* May be <code>null</code>, in which case no path
@@ -306,20 +307,20 @@
}
/**
- * Create a classloader for the given project using the classpath given.
+ * Creates a classloader for the given project using the classpath given.
*
- * @param parent the parent classloader to which unsatisfied loading
+ * @param parent The parent classloader to which unsatisfied loading
* attempts are delegated. May be <code>null</code>,
* in which case the classloader which loaded this
* class is used as the parent.
- * @param project the project to which this classloader is to belong.
+ * @param project The project to which this classloader is to belong.
* Must not be <code>null</code>.
* @param classpath the classpath to use to load the classes.
* May be <code>null</code>, in which case no path
* elements are set up to start with.
- * @param parentFirst if <code>true</code> indicates that the parent
- * classloader should be consulted before trying to
load
- * the a class through this loader.
+ * @param parentFirst If <code>true</code>, indicates that the parent
+ * classloader should be consulted before trying to
+ * load the a class through this loader.
*/
public AntClassLoader(ClassLoader parent, Project project, Path classpath,
boolean parentFirst) {
@@ -334,15 +335,14 @@
/**
- * Create a classloader for the given project using the classpath given.
+ * Creates a classloader for the given project using the classpath given.
*
- * @param project the project to which this classloader is to belong.
+ * @param project The project to which this classloader is to belong.
* Must not be <code>null</code>.
- * @param classpath the classpath to use to load the classes. May be
+ * @param classpath The classpath to use to load the classes. May be
* <code>null</code>, in which case no path
* elements are set up to start with.
- *
- * @param parentFirst if <code>true</code> indicates that the parent
+ * @param parentFirst If <code>true</code>, indicates that the parent
* classloader should be consulted before trying to
* load the a class through this loader.
*/
@@ -351,16 +351,16 @@
}
/**
- * Create an empty class loader. The classloader should be configured
+ * Creates an empty class loader. The classloader should be configured
* with path elements to specify where the loader is to look for
* classes.
*
- * @param parent the parent classloader to which unsatisfied loading
+ * @param parent The parent classloader to which unsatisfied loading
* attempts are delegated. May be <code>null</code>,
* in which case the classloader which loaded this
* class is used as the parent.
- * @param parentFirst if <code>true</code> indicates that the parent
- * classloader should be consulted before trying to
+ * @param parentFirst If <code>true</code>, indicates that the parent
+ * classloader should be consulted before trying to
* load the a class through this loader.
*/
public AntClassLoader(ClassLoader parent, boolean parentFirst) {
@@ -375,10 +375,12 @@
}
/**
- * Log a message through the project object if one has been provided.
+ * Logs a message through the project object if one has been provided.
*
- * @param message the message to log
- * @param priority the logging priority of the message
+ * @param message The message to log.
+ * Should not be <code>null</code>.
+ *
+ * @param priority The logging priority of the message.
*/
protected void log(String message, int priority) {
if (project != null) {
@@ -390,7 +392,7 @@
}
/**
- * Set the current thread's context loader to this classloader, storing
+ * Sets the current thread's context loader to this classloader, storing
* the current loader value for later resetting.
*/
public void setThreadContextLoader() {
@@ -416,7 +418,7 @@
}
/**
- * Reset the current thread's context loader to its original value.
+ * Resets the current thread's context loader to its original value.
*/
public void resetThreadContextLoader() {
if (isContextLoaderSaved &&
@@ -439,10 +441,13 @@
/**
- * Add an element to the classpath to be searched.
+ * Adds an element to the classpath to be searched.
*
- * @param pathElement the path element to add. Must not be
+ * @param pathElement The path element to add. Must not be
* <code>null</code>.
+ *
+ * @exception BuildException if the given path element cannot be resolved
+ * against the project.
*/
public void addPathElement(String pathElement) throws BuildException {
File pathComponent
@@ -452,12 +457,12 @@
}
/**
- * Get the CLASSPATH this classloader will consult.
+ * Returns the classpath this classloader will consult.
*
* @return the classpath used for this classloader, with elements
* separated by the path separator for the system.
*/
- public String getClasspath() {
+ public String getClasspath(){
StringBuffer sb = new StringBuffer();
boolean firstPass = true;
Enumeration enum = pathComponents.elements();
@@ -473,23 +478,24 @@
}
/**
- * Set whether this classloader should run in isolated mode. In
+ * Sets whether this classloader should run in isolated mode. In
* isolated mode, classes not found on the given classpath will
* not be referred to the parent class loader but will cause a
* ClassNotFoundException.
*
- * @param isolated whether this classloader should run in isolated mode
- * or not.
+ * @param isolated Whether or not this classloader should run in
+ * isolated mode.
*/
public void setIsolated(boolean isolated) {
ignoreBase = isolated;
}
/**
- * Force initialization of a class in a JDK 1.1 compatible, albeit hacky
+ * Forces initialization of a class in a JDK 1.1 compatible, albeit hacky
* way.
*
- * @param theClass the class to initialize. Must not be <code>null</code>.
+ * @param theClass The class to initialize.
+ * Must not be <code>null</code>.
*/
public static void initializeClass(Class theClass) {
// ***HACK*** We ask the VM to create an instance
@@ -525,44 +531,45 @@
}
/**
- * Add a package root to the list of packages which must be loaded on the
+ * Adds a package root to the list of packages which must be loaded on the
* parent loader.
*
* All subpackages are also included.
*
- * @param packageRoot the root of all packages to be included. Should not
- * be <code>null</code>.
+ * @param packageRoot The root of all packages to be included.
+ * Should not be <code>null</code>.
*/
public void addSystemPackageRoot(String packageRoot) {
systemPackages.addElement(packageRoot + ".");
}
/**
- * Add a package root to the list of packages which must be loaded using
+ * Adds a package root to the list of packages which must be loaded using
* this loader.
*
* All subpackages are also included.
*
- * @param packageRoot the root of all packages to be included. Should not
- * be <code>null</code>.
+ * @param packageRoot The root of all packages to be included.
+ * Should not be <code>null</code>.
*/
public void addLoaderPackageRoot(String packageRoot) {
loaderPackages.addElement(packageRoot + ".");
}
/**
- * Load a class through this class loader even if that class is available
+ * Loads a class through this class loader even if that class is available
* on the parent classpath.
*
* This ensures that any classes which are loaded by the returned class
* will use this classloader.
*
- * @param classname the classname to be loaded. Must not be
<code>null</code>.
+ * @param classname The name of the class to be loaded.
+ * Must not be <code>null</code>.
*
* @return the required Class object
*
* @exception ClassNotFoundException if the requested class does not exist
- * on this loader's classpath.
+ * on this loader's classpath.
*/
public Class forceLoadClass(String classname) throws
ClassNotFoundException {
log("force loading " + classname, Project.MSG_DEBUG);
@@ -577,15 +584,15 @@
}
/**
- * Load a class through this class loader but defer to the parent class
+ * Loads a class through this class loader but defer to the parent class
* loader.
*
* This ensures that instances of the returned class will be compatible
* with instances which which have already been loaded on the parent
* loader.
*
- * @param classname the classname to be loaded. Must not be
- * <code>null</code>.
+ * @param classname The name of the class to be loaded.
+ * Must not be <code>null</code>.
*
* @return the required Class object
*
@@ -605,9 +612,9 @@
}
/**
- * Get a stream to read the requested resource name.
+ * Returns a stream to read the requested resource name.
*
- * @param name the name of the resource for which a stream is required.
+ * @param name The name of the resource for which a stream is required.
* Must not be <code>null</code>.
*
* @return a stream to the required resource or <code>null</code> if the
@@ -654,9 +661,9 @@
}
/**
- * Get a stream to read the requested resource name from this loader.
+ * Returns a stream to read the requested resource name from this loader.
*
- * @param name the name of the resource for which a stream is required.
+ * @param name The name of the resource for which a stream is required.
* Must not be <code>null</code>.
*
* @return a stream to the required resource or <code>null</code> if
@@ -675,14 +682,14 @@
}
/**
- * Find a system resource (which should be loaded from the parent
+ * Finds a system resource (which should be loaded from the parent
* classloader).
*
- * @param name the name of the system resource to load. Must not be
- * <code>null</code>.
+ * @param name The name of the system resource to load.
+ * Must not be <code>null</code>.
*
* @return a stream to the named resource, or <code>null</code> if
- * the resource cannot be found.
+ * the resource cannot be found.
*/
private InputStream loadBaseResource(String name) {
if (parent == null) {
@@ -694,16 +701,16 @@
}
/**
- * Get an inputstream to a given resource in the given file which may
+ * Returns an inputstream to a given resource in the given file which may
* either be a directory or a zip file.
*
* @param file the file (directory or jar) in which to search for the
* resource. Must not be <code>null</code>.
- * @param resourceName the name of the resource for which a stream is
+ * @param resourceName The name of the resource for which a stream is
* required. Must not be <code>null</code>.
*
* @return a stream to the required resource or <code>null</code> if
- * the resource cannot be found in the given file.
+ * the resource cannot be found in the given file.
*/
private InputStream getResourceStream(File file, String resourceName) {
try {
@@ -740,16 +747,16 @@
}
/**
- * Get whether or not the parent classloader should be checked for
+ * Tests whether or not the parent classloader should be checked for
* a resource before this one. If the resource matches both the
- * "use parent classloader first" and the "use this classloader first"
+ * "use parent classloader first" and the "use this classloader first"
* lists, the latter takes priority.
*
- * @param resourceName the name of the resource to check. Must not be
- * <code>null</code>.
+ * @param resourceName The name of the resource to check.
+ * Must not be <code>null</code>.
*
* @return whether or not the parent classloader should be checked for a
- * resource before this one is.
+ * resource before this one is.
*/
private boolean isParentFirst(String resourceName) {
// default to the global setting and then see
@@ -784,7 +791,7 @@
* some data (images, audio, text, etc) that can be accessed by class
* code in a way that is independent of the location of the code.
*
- * @param name the name of the resource for which a stream is required.
+ * @param name The name of the resource for which a stream is required.
* Must not be <code>null</code>.
*
* @return a URL for reading the resource, or <code>null</code> if the
@@ -838,9 +845,9 @@
* Returns an enumeration of URLs representing all the resources with the
* given name by searching the class loader's classpath.
*
- * @param name the resource name to search for. Must not be
- * <code>null</code>.
- * @return an enumeration of URLs for the resources.
+ * @param name The resource name to search for.
+ * Must not be <code>null</code>.
+ * @return an enumeration of URLs for the resources
* @exception IOException if I/O errors occurs (can't happen)
*/
protected Enumeration findResources(String name) throws IOException {
@@ -848,16 +855,16 @@
}
/**
- * Get an inputstream to a given resource in the given file which may
+ * Returns an inputstream to a given resource in the given file which may
* either be a directory or a zip file.
*
- * @param file the file (directory or jar) in which to search for
+ * @param file The file (directory or jar) in which to search for
* the resource. Must not be <code>null</code>.
- * @param resourceName the name of the resource for which a stream
+ * @param resourceName The name of the resource for which a stream
* is required. Must not be <code>null</code>.
*
* @return a stream to the required resource or <code>null</code> if the
- * resource cannot be found in the given file object
+ * resource cannot be found in the given file object.
*/
private URL getResourceURL(File file, String resourceName) {
try {
@@ -901,7 +908,7 @@
}
/**
- * Load a class with this class loader.
+ * Loads a class with this class loader.
*
* This class attempts to load the class in an order determined by whether
* or not the class matches the system/loader package lists, with the
@@ -909,7 +916,7 @@
* mode, failure to load the class in this loader will result in a
* ClassNotFoundException.
*
- * @param classname the name of the class to be loaded.
+ * @param classname The name of the class to be loaded.
* Must not be <code>null</code>.
* @param resolve <code>true</code> if all classes upon which this class
* depends are to be loaded.
@@ -959,10 +966,10 @@
}
/**
- * Convert the class dot notation to a filesystem equivalent for
+ * Converts the class dot notation to a filesystem equivalent for
* searching purposes.
*
- * @param classname the class name in dot format (eg java.lang.Integer).
+ * @param classname The class name in dot format (eg java.lang.Integer).
* Must not be <code>null</code>.
*
* @return the classname in filesystem format (eg java/lang/Integer.class)
@@ -972,12 +979,12 @@
}
/**
- * Read a class definition from a stream.
+ * Reads a class definition from a stream.
*
- * @param stream the stream from which the class is to be read.
- * Must not be <code>null</code>.
- * @param classname the class name of the class in the stream.
+ * @param stream The stream from which the class is to be read.
* Must not be <code>null</code>.
+ * @param classname The name of the class in the stream.
+ * Must not be <code>null</code>.
*
* @return the Class object read from the stream.
*
@@ -1027,15 +1034,15 @@
}
/**
- * Search for and load a class on the classpath of this class loader.
+ * Searches for and load a class on the classpath of this class loader.
*
- * @param name the name of the class to be loaded. Must not be
+ * @param name The name of the class to be loaded. Must not be
* <code>null</code>.
*
* @return the required Class object
*
* @exception ClassNotFoundException if the requested class does not exist
- * on this loader's classpath.
+ * on this loader's classpath.
*/
public Class findClass(String name) throws ClassNotFoundException {
log("Finding class " + name, Project.MSG_DEBUG);
@@ -1045,9 +1052,9 @@
/**
- * Find a class on the given classpath.
+ * Finds a class on the given classpath.
*
- * @param name the name of the class to be loaded. Must not be
+ * @param name The name of the class to be loaded. Must not be
* <code>null</code>.
*
* @return the required Class object
@@ -1088,14 +1095,14 @@
}
/**
- * Find a system class (which should be loaded from the same classloader
+ * Finds a system class (which should be loaded from the same classloader
* as the Ant core).
*
* For JDK 1.1 compatability, this uses the findSystemClass method if
* no parent classloader has been specified.
*
- * @param name the name of the class to be loaded. Must not be
- * <code>null</code>.
+ * @param name The name of the class to be loaded.
+ * Must not be <code>null</code>.
*
* @return the required Class object
*
@@ -1112,7 +1119,7 @@
}
/**
- * Clean up any resources held by this classloader. Any open archive
+ * Cleans up any resources held by this classloader. Any open archive
* files are closed.
*/
public void cleanup() {
@@ -1137,7 +1144,7 @@
}
/**
- * Clean up any resources held by this classloader at the end
+ * Cleans up any resources held by this classloader at the end
* of a build.
*/
public void buildFinished(BuildEvent event) {
Index: src/main/org/apache/tools/ant/DemuxOutputStream.java
===================================================================
RCS file:
/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/DemuxOutputStream.java,v
retrieving revision 1.6
diff -u -r1.6 DemuxOutputStream.java
--- src/main/org/apache/tools/ant/DemuxOutputStream.java 21 Feb 2002
15:38:16 -0000 1.6
+++ src/main/org/apache/tools/ant/DemuxOutputStream.java 22 Feb 2002
09:55:11 -0000
@@ -70,46 +70,47 @@
public class DemuxOutputStream extends OutputStream {
/**
- * A data class to store information about a buffer. Such informatio
+ * A data class to store information about a buffer. Such information
* is stored on a per-thread basis.
*/
private static class BufferInfo {
/**
- * The per-thread output stream
+ * The per-thread output stream.
*/
private ByteArrayOutputStream buffer;
/**
- * Whether the next line-terminator should be skipped in terms
- * of processing the buffer or not. Used to avoid \r\n invoking
+ * Whether or not the next line-terminator should be skipped in terms
+ * of processing the buffer. Used to avoid \r\n invoking
* processBuffer twice.
*/
private boolean skip = false;
}
- /** Maximum buffer size */
+ /** Maximum buffer size. */
private final static int MAX_SIZE = 1024;
- /** Mapping from thread to buffer (Thread to BufferInfo) */
+ /** Mapping from thread to buffer (Thread to BufferInfo). */
private Hashtable buffers = new Hashtable();
/**
- * The project to send output to
+ * The project to send output to.
*/
private Project project;
/**
- * Whether or not this stream represents an error stream
+ * Whether or not this stream represents an error stream.
*/
private boolean isErrorStream;
/**
* Creates a new instance of this class.
*
- * @param project the project instance for which output is being
- * demultiplexed.
- * @param isErrorStream true if this is the error string, otherwise
- * a normal output stream. This is passed to the project so it knows
- * which stream it is receiving.
+ * @param project The project instance for which output is being
+ * demultiplexed. Must not be <code>null</code>.
+ * @param isErrorStream <code>true</code> if this is the error string,
+ * otherwise a normal output stream. This is
+ * passed to the project so it knows
+ * which stream it is receiving.
*/
public DemuxOutputStream(Project project, boolean isErrorStream) {
this.project = project;
@@ -119,7 +120,7 @@
/**
* Returns the buffer associated with the current thread.
*
- * @return a ByteArrayOutputStream for the current thread to write data to
+ * @return a BufferInfo for the current thread to write data to
*/
private BufferInfo getBufferInfo() {
Thread current = Thread.currentThread();
@@ -165,13 +166,13 @@
bufferInfo.skip = (c == '\r');
}
-
/**
- * Converts the buffer to a string and sends it to
- * [EMAIL PROTECTED] Project#demuxOutput(String,boolean)
Project.demuxOutput}.
+ * Converts the buffer to a string and sends it to the project.
*
* @param buffer the ByteArrayOutputStream used to collect the output
* until a line separator is seen.
+ *
+ * @see Project#demuxOutput(String,boolean)
*/
protected void processBuffer(ByteArrayOutputStream buffer) {
String output = buffer.toString();
@@ -180,9 +181,11 @@
}
/**
- * Equivalent to calling [EMAIL PROTECTED] #flush flush} on the stream.
+ * Equivalent to flushing the stream.
*
* @exception IOException if there is a problem closing the stream.
+ *
+ * @see #flush
*/
public void close() throws IOException {
flush();
Index: src/main/org/apache/tools/ant/IntrospectionHelper.java
===================================================================
RCS file:
/home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/IntrospectionHelper.java,v
retrieving revision 1.36
diff -u -r1.36 IntrospectionHelper.java
--- src/main/org/apache/tools/ant/IntrospectionHelper.java 20 Feb 2002
14:54:28 -0000 1.36
+++ src/main/org/apache/tools/ant/IntrospectionHelper.java 22 Feb 2002
09:55:14 -0000
@@ -384,6 +384,10 @@
* @param value The value to set the attribute to. This may be interpreted
* or converted to the necessary type if the setter method
* doesn't just take a string. Must not be <code>null</code>.
+ *
+ * @exception BuildException if the introspected class doesn't support
+ * the given attribute, or if the setting
+ * method fails.
*/
public void setAttribute(Project p, Object element, String attributeName,
String value)
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>