home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / VCAFE.3.0A / Main.bin / ProjectOptions.java < prev    next >
Text File  |  1998-10-25  |  4KB  |  133 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 "Project" tab
  9.  * in the Options dialog of a Visual Cafe project.
  10.  * <p>Use <code>ProjectOptionSet.getProjectOptions()</code> to get an instance of this object.
  11.  *
  12.  * @see com.symantec.itools.vcafe.openapi.VisualProject#getOptionSet
  13.  * @see ProjectOptionSet#getProjectOptions
  14.  *
  15.  * @author Symantec Internet Tools Division
  16.  * @version 1.0
  17.  * @since VCafe 3.0
  18.  */
  19. public abstract class ProjectOptions
  20. {
  21.         /**
  22.          * Indicates the project release type is "debug".
  23.          * An executable is generated that contains debugging information.
  24.          * @see #getReleaseType
  25.          */
  26.         public static final int        RELEASETYPE_DEBUG = 0;
  27.  
  28.         /**
  29.          * Indicates the project release type is "final".
  30.          * A compact executable is generated that is optimized and contains no debugging information.
  31.          * @see #getReleaseType
  32.          */
  33.         public static final int        RELEASETYPE_FINAL = 1;
  34.  
  35.     /**
  36.      * Gets the project's current release type.
  37.      * @return One of:<ul type=circle>
  38.      * <li>RELEASETYPE_DEBUG - for debugging, or
  39.      * <li>RELEASETYPE_FINAL - for final optimized version.
  40.      * </ul>
  41.      */
  42.     public abstract int getReleaseType();
  43.  
  44.  
  45.         /**
  46.          * Indicates the project target type is a native Windows application.
  47.          * @see #getTargetType
  48.          */
  49.         public static final int        TARGETTYPE_EXE = 0;
  50.         /**
  51.          * Indicates the project target type is a native Windows DLL.
  52.          */
  53.         public static final int        TARGETTYPE_DLL = 1;
  54.         /**
  55.          * Indicates the project target type is a java application that requires java.exe to run.
  56.          */
  57.         public static final int        TARGETTYPE_CONSOLE = 2;
  58.         /**
  59.          * Indicates the project target type is a java applet that runs inside a web page.
  60.          */
  61.         public static final int        TARGETTYPE_APPLET = 3;
  62.  
  63.     /**
  64.      * Gets the project's current target type.
  65.      * @return One of:<ul type=circle>
  66.      * <li>TARGETTYPE_APPLET - a java applet,
  67.      * <li>TARGETTYPE_CONSOLE - a java application,
  68.      * <li>TARGETTYPE_DLL - a native Windows DLL, or
  69.      * <li>TARGETTYPE_EXE - a native Windows application.
  70.      * </ul>
  71.      */
  72.     public abstract int getTargetType();
  73.  
  74.     /**
  75.      * Gets the project's target filename.
  76.      * @return the project's target filename.
  77.      */
  78.     public abstract String getTargetName();
  79.  
  80.     /**
  81.      * Determines whether this project's code generator will produce localized code.
  82.      * @return <code>true</code> if so, <code>false</code> otherwise.
  83.      */
  84.     public abstract boolean isLocalizeGeneratedCode();
  85.  
  86.     /**
  87.      * Determines whether this project's code generator will produce property files.
  88.      * <p>Note: This is only valid if <code>isLocalizeGeneratedCode</code> is <code>true</code>.
  89.      * @return <code>true</code> if so, <code>false</code> otherwise.
  90.      * @see isLocalizeGeneratedCode
  91.      */
  92.     public abstract boolean isGeneratePropertyFiles();
  93.  
  94.     /**
  95.      * Determines whether this project will parse (and display) imported files.
  96.      * @return <code>true</code> if so, <code>false</code> otherwise.
  97.      */
  98.     public abstract boolean isParseImports();
  99.  
  100.     /**
  101.      * Determines whether this project will default to enabling RAD for new files added to the project.
  102.      * @return <code>true</code> if so, <code>false</code> otherwise.
  103.      * @see com.symantec.itools.vcafe.openapi.VisualProject#addFile(String, boolean, int)
  104.      */
  105.     public abstract boolean isEnableRADForNewFiles();
  106.  
  107.     /**
  108.      * Gets the Applet's HTML File.
  109.      * Note: this is only applicable to TARGETTYPE_APPLET target types.
  110.      * @return the Applet's HTML File.
  111.      */
  112.     public abstract String getAppletPage();
  113.  
  114.     /**
  115.      * Gets the Application's main() Class.
  116.      * Note: this is only applicable to TARGETTYPE_CONSOLE target types.
  117.      * @return the Application's main() Class.
  118.      */
  119.     public abstract String getMainClass();
  120.  
  121.     /**
  122.      * Gets the Program Arguments.
  123.      * @return the Program Arguments.
  124.      */
  125.     public abstract String getProgramArguments();
  126.  
  127.     /**
  128.      * Gets the Working Directory for the executable.
  129.      * @return the Working Directory for the executable.
  130.      */
  131.     public abstract String getWorkingDirectory();
  132. }
  133.