ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mben...@apache.org
Subject cvs commit: ant/src/main/org/apache/tools/ant/types/optional/depend DependScanner.java
Date Wed, 26 Jan 2005 19:25:41 GMT
mbenson     2005/01/26 11:25:41

  Modified:    src/main/org/apache/tools/ant/types/optional/depend Tag:
                        ANT_16_BRANCH DependScanner.java
  Log:
  sync with HEAD
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.14.2.5  +31 -41    ant/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
  
  Index: DependScanner.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java,v
  retrieving revision 1.14.2.4
  retrieving revision 1.14.2.5
  diff -u -r1.14.2.4 -r1.14.2.5
  --- DependScanner.java	9 Mar 2004 17:01:56 -0000	1.14.2.4
  +++ DependScanner.java	26 Jan 2005 19:25:40 -0000	1.14.2.5
  @@ -1,5 +1,5 @@
   /*
  - * Copyright  2001-2002,2004 The Apache Software Foundation
  + * Copyright  2001-2002, 2004-2005 The Apache Software Foundation
    *
    *  Licensed under the Apache License, Version 2.0 (the "License");
    *  you may not use this file except in compliance with the License.
  @@ -27,9 +27,7 @@
   
   
   /**
  - * An interface used to describe the actions required by any type of
  - * directory scanner.
  - *
  + * DirectoryScanner for finding class dependencies.
    */
   public class DependScanner extends DirectoryScanner {
       /**
  @@ -39,24 +37,19 @@
           = "org.apache.tools.ant.util.depend.bcel.FullAnalyzer";
   
       /**
  -     * The base directory for the scan
  -     */
  -    private File basedir;
  -
  -    /**
  -     * The root classes to drive the search for dependent classes
  +     * The root classes to drive the search for dependent classes.
        */
       private Vector rootClasses;
   
       /**
  -     * The names of the classes to include in the fileset
  +     * The names of the classes to include in the fileset.
        */
       private Vector included;
   
       /**
        * The parent scanner which gives the basic set of files. Only files which
        * are in this set and which can be reached from a root class will end
  -     * up being included in the result set
  +     * up being included in the result set.
        */
       private DirectoryScanner parentScanner;
   
  @@ -72,51 +65,43 @@
       }
   
       /**
  -     * Sets the basedir for scanning. This is the directory that is scanned
  -     * recursively.
  -     *
  -     * @param basedir the basedir for scanning
  -     */
  -    public void setBasedir(File basedir) {
  -        this.basedir = basedir;
  -    }
  -
  -    /**
  -     * Gets the basedir that is used for scanning.
  -     *
  -     * @return the basedir that is used for scanning
  -     */
  -    public File getBasedir() { return basedir; }
  -
  -    /**
        * Sets the root classes to be used to drive the scan.
        *
  -     * @param rootClasses the rootClasses to be used for this scan
  +     * @param rootClasses the rootClasses to be used for this scan.
        */
  -    public void setRootClasses(Vector rootClasses) {
  +    public synchronized void setRootClasses(Vector rootClasses) {
           this.rootClasses = rootClasses;
       }
   
       /**
  -     * Get the names of the class files, baseClass depends on
  +     * Get the names of the class files on which baseClass depends.
        *
  -     * @return the names of the files
  +     * @return the names of the files.
        */
       public String[] getIncludedFiles() {
  -        int count = included.size();
  -        String[] files = new String[count];
  -        for (int i = 0; i < count; i++) {
  +        String[] files = new String[getIncludedFilesCount()];
  +        for (int i = 0; i < files.length; i++) {
               files[i] = (String) included.elementAt(i);
           }
           return files;
       }
   
       /**
  -     * Scans the base directory for files that baseClass depends on
  +     * @see DirectoryScanner#getIncludedFilesCount
  +     */
  +    public synchronized int getIncludedFilesCount() {
  +        if (included == null) {
  +            throw new IllegalStateException();
  +        }
  +        return included.size();
  +    }
  +
  +    /**
  +     * Scans the base directory for files on which baseClass depends.
        *
  -     * @exception IllegalStateException when basedir was set incorrecly
  +     * @exception IllegalStateException when basedir was set incorrectly.
        */
  -    public void scan() throws IllegalStateException {
  +    public synchronized void scan() throws IllegalStateException {
           included = new Vector();
           String analyzerClassName = DEFAULT_ANALYZER_CLASS;
           DependencyAnalyzer analyzer = null;
  @@ -133,7 +118,6 @@
               String rootClass = (String) e.nextElement();
               analyzer.addRootClass(rootClass);
           }
  -
           Enumeration e = analyzer.getClassDependencies();
   
           String[] parentFiles = parentScanner.getIncludedFiles();
  @@ -141,7 +125,6 @@
           for (int i = 0; i < parentFiles.length; ++i) {
               parentSet.put(parentFiles[i], parentFiles[i]);
           }
  -
           while (e.hasMoreElements()) {
               String classname = (String) e.nextElement();
               String filename = classname.replace('.', File.separatorChar);
  @@ -182,6 +165,13 @@
       }
   
       /**
  +     * @see DirectoryScanner#getIncludedDirsCount
  +     */
  +    public int getIncludedDirsCount() {
  +        return 0;
  +    }
  +
  +    /**
        * @see DirectoryScanner#getNotIncludedDirectories
        */
       public String[] getNotIncludedDirectories() {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message