home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / VCAFE.3.0A / Main.bin / DirectoriesOptions.java < prev    next >
Text File  |  1998-10-25  |  7KB  |  147 lines

  1. /*
  2.  * Copyright 1998 Symantec Corporation, All Rights Reserved.
  3.  */
  4.  
  5. package com.symantec.itools.vcafe.openapi.options;
  6.  
  7. /**
  8.  * The API used to represent and access the options that appear in the "Directories" tab
  9.  * in the Options dialog of a Visual Cafe project.
  10.  * <p>Use <code>ProjectOptionSet.getDirectoriesOptions()</code> to get an instance of this object.
  11.  *
  12.  * @see com.symantec.itools.vcafe.openapi.VisualProject#getOptionSet
  13.  * @see ProjectOptionSet#getDirectoriesOptions
  14.  *
  15.  * @author Symantec Internet Tools Division
  16.  * @version 1.0
  17.  * @since VCafe 3.0
  18.  */
  19. public abstract class DirectoriesOptions
  20. {
  21.     /**
  22.      * Gets the complete class path specified for the project merged into a single <code>String</code>.
  23.      * <p>This method returns a merged class path (like "path1;path2;path3"), while the <code>getFullClassPaths</code>
  24.      * method returns the same path, but in an array (like [0]="path1",[1]="path2",[2]="path3").
  25.      * <p>Unlike <code>getClassPath</code> and <code>getClassPaths</code>, this method returns system class
  26.      * path values in addition to the user-defined ones.
  27.      * <p>To determine the class path, Visual Cafe:
  28.      *    a) Uses current classpath option (<code>getClassPath</code>).
  29.      *    b) Appends the system classpath if "Append class path" (<code>isAppendClassPath</code>) is set
  30.      *        or the current classPath option is empty
  31.      *    c) If no output directory is specified (<code>getOutputPath</code>) and "Auto-generate class path"
  32.      *            (<code>isAutoGenerateClassPath</code>) is set, appends appropriate directories based on file
  33.      *            names and packages added to project, otherwise it appends the output directory.
  34.      * @return the complete class path for the project as a single <code>String</code>.
  35.      * @see #getFullClassPaths
  36.      * @see #getClassPath
  37.      * @see #getClassPaths
  38.      */
  39.     public abstract String getFullClassPath();
  40.  
  41.     /**
  42.      * Gets the complete class path specified for the project as an array of <code>Strings</code>.
  43.      * <p>This method returns a class path array (like [0]="path1",[1]="path2",[2]="path3"), while the 
  44.      * <code>getFullClassPath</code> method returns the same path, but in a merged <code>String</code>
  45.      * (like "path1;path2;path3").
  46.      * <p>Unlike <code>getClassPath</code> and <code>getClassPaths</code>, this method returns system class
  47.      * path values in addition to the user-defined ones.
  48.      * <p>To determine the class path, Visual Cafe:
  49.      *    a) Uses current classpath option (<code>getClassPaths</code>).
  50.      *    b) Appends the system classpath if "Append class path" (<code>isAppendClassPath</code>) is set
  51.      *        or the current classPath option is empty
  52.      *    c) If no output directory is specified (<code>getOutputPath</code>) and "Auto-generate class path"
  53.      *            (<code>isAutoGenerateClassPath</code>) is set, appends appropriate directories based on file
  54.      *            names and packages added to project, otherwise it appends the output directory.
  55.      * @return the complete class path for the project as an array of <code>Strings</code>.
  56.      * @see #getFullClassPath
  57.      * @see #getClassPath
  58.      * @see #getClassPaths
  59.      */
  60.     public abstract String[] getFullClassPaths();
  61.  
  62.     /**
  63.      * Gets all of the user-entered class paths for this project, merged into a single <code>String</code>.
  64.      * <p>This method returns a merged class path (like "path1;path2;path3"), while the <code>getClassPaths</code>
  65.      * method returns the same path, but in an array (like [0]="path1",[1]="path2",[2]="path3").
  66.      * <p>Unlike <code>getFullClassPath</code> and <code>getFullClassPaths</code>, this method doesn't return
  67.      * system class path values.
  68.      * @return the user-entered class paths as a single <code>String</code>.
  69.      * @see #getClassPaths
  70.      * @see #getFullClassPath
  71.      * @see #getFullClassPaths
  72.      */
  73.     public abstract String getClassPath();
  74.  
  75.     /**
  76.      * Gets all of the user-entered class paths for this project, as an array of <code>Strings</code>.
  77.      * <p>This method returns a class path array (like [0]="path1",[1]="path2",[2]="path3"), while the 
  78.      * <code>getClassPath</code> method returns the same path, but in a merged <code>String</code>
  79.      * (like "path1;path2;path3").
  80.      * <p>Unlike <code>getFullClassPath</code> and <code>getFullClassPaths</code>, this method doesn't return
  81.      * system class path values.
  82.      * @return the user-entered class paths as an array of <code>Strings</code>.
  83.      * @see #getClassPath
  84.      * @see #getFullClassPath
  85.      * @see #getFullClassPaths
  86.      */
  87.     public abstract String[] getClassPaths();
  88.  
  89.     /**
  90.      * Gets the user-entered output destination directory.
  91.      * @return the user-entered value, or an empty <code>String</code> if no value specified.
  92.      */
  93.     public abstract String getOutputPath();
  94.  
  95.     /**
  96.      * Gets the user-entered Javadoc destination directory.
  97.      * @return the user-entered value, or an empty <code>String</code> if no value specified.
  98.      */
  99.     public abstract String getJavadocDocumentationDirectory();
  100.  
  101.     /**
  102.      * Gets the user-entered Javadoc system documentation source directory.
  103.      * @return the user-entered value, or an empty <code>String</code> if no value specified.
  104.      */
  105.     public abstract String getJavadocSystemDocumentationDirectory();
  106.  
  107.     /**
  108.      * Gets all of the user-entered source search paths for this project, merged into a single <code>String</code>.
  109.      * <p>This method returns a merged search path (like "path1;path2;path3"), while the <code>getSourceFilesDirectories</code>
  110.      * method returns the same path, but in an array (like [0]="path1",[1]="path2",[2]="path3").
  111.      * <p>The source search path applies to Java source files and any text file that can be opened in
  112.      * the Source window. 
  113.      * @return the user-entered source paths as a single <code>String</code>.
  114.      * @see #getSourceFilesDirectories
  115.      */
  116.     public abstract String getSourceFilesDirectory();
  117.  
  118.     /**
  119.      * Gets all of the user-entered source search paths for this project, as an array of <code>Strings</code>.
  120.      * <p>This method returns a search path array (like [0]="path1",[1]="path2",[2]="path3"), while the 
  121.      * <code>getSourceFilesDirectory</code> method returns the same path, but in a merged <code>String</code>
  122.      * (like "path1;path2;path3").
  123.      * <p>The source search path applies to Java source files and any text file that can be opened in
  124.      * the Source window. 
  125.      * @return the user-entered source paths as an array of <code>Strings</code>.
  126.      * @see #getSourceFilesDirectory
  127.      */
  128.     public abstract String[] getSourceFilesDirectories();
  129.  
  130.     /**
  131.      * Determines whether the final (full) classpath will have the system classpath appended to it.
  132.      * @see #getFullClassPath
  133.      * @see #getFullClassPaths
  134.      */     
  135.     public abstract boolean isAppendClassPath();
  136.  
  137.     /**
  138.      * Determines whether the final (full) classpath will include classpaths for the project files that have
  139.      * been automatically determined.
  140.      * <p>For this to happen, an output directory must not be specified (<code>getOutputPath</code>).
  141.      * @see #getFullClassPath
  142.      * @see #getFullClassPaths
  143.      * @see #getOutputPath
  144.      */     
  145.     public abstract boolean isAutoGenerateClassPath();
  146. }
  147.