home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-10-25 | 8.6 KB | 220 lines |
- /*
- * Copyright 1998 Symantec Corporation, All Rights Reserved.
- */
-
- package com.symantec.itools.vcafe.openapi.options;
-
- /**
- * The API used to represent and access the options that appear in the "Compiler" tab
- * in the Options dialog of a Visual Cafe project.
- * <p>Use <code>ProjectOptionSet.getCompilerOptions()</code> to get an instance of this object.
- *
- * @see com.symantec.itools.vcafe.openapi.VisualProject#getOptionSet
- * @see ProjectOptionSet#getCompilerOptions
- *
- * @author Symantec Internet Tools Division
- * @version 1.0
- * @since VCafe 3.0
- */
- public abstract class CompilerOptions
- {
- /**
- * Determines whether the compiler will optimize its generated code.
- * <p>Optimizing results in a smaller executable that runs faster.
- * @return <code>true</code> if optimizations are on, <code>false</code> otherwise.
- */
- public abstract boolean isUseJavaOptimizations();
-
- /**
- * Determines whether the compiler will prevent the "inlining" optimization.
- * Inlining means that Visual Cafe takes a method's code and imbeds it in the calling method instead of
- * calling the method.
- * <p>Inlining increases execution speed but also increases executable size.
- * @return <code>true</code> if inlining is <i>disabled</i>, <code>false</code> otherwise.
- */
- public abstract boolean isDisableFunctionInlining();
-
- /**
- * Determines whether the compiler will generate debug information used by the Visual Cafe debugger.
- * @return <code>true</code> if debug information is generated, <code>false</code> otherwise.
- */
- public abstract boolean isGenerateDebugInformation();
-
- /**
- * Determines whether Sun's java compiler will be used.
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isUseSunsJavaCompiler();
-
- /**
- * Determines whether the compiler will generate warning messsages.
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isShowCompilerWarnings();
-
- /**
- * Determines whether the compiler will generate warning messages about deprecated code.
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isWarnOnDeprecated();
-
- /**
- * Determines whether the compiler will generate progress messages
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isShowProgressMessages();
-
- /**
- * Determines whether the compiler will generate file dependency messages.
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isShowDependencies();
-
- /**
- * Determines whether the compiler will generate all possible messages.
- * @return <code>true</code> if so, <code>false</code> otherwise.
- */
- public abstract boolean isShowAllJavaMessages();
-
-
- /**
- * Indicates project build should not check import depencies.
- * @see #getMakeSettings
- */
- public static final int MAKESETTINGS_DONT_CHECK_DEPENDENCIES_ON_IMPORTS = 0;
- /**
- * Indicates project build should warn of out-of-date imports.
- * @see #getMakeSettings
- */
- public static final int MAKESETTINGS_WARN_ON_OUT_OF_DATE_IMPORTS = 1;
- /**
- * Indicates project build should check imported classes and build them as necessary.
- * @see #getMakeSettings
- */
- public static final int MAKESETTINGS_GENERATE_CLASS_FOR_OUT_OF_DATE_IMPORTS = 2;
-
- /**
- * Gets make (i.e. build) options.
- * @return One of:<ul type=circle>
- * <li>MAKESETTINGS_DONT_CHECK_DEPENDENCIES_ON_IMPORTS - doesn't check imported classes,
- * <li>MAKESETTINGS_WARN_ON_OUT_OF_DATE_IMPORTS - warns of out-of-date imported classes, or
- * <li>MAKESETTINGS_GENERATE_CLASS_FOR_OUT_OF_DATE_IMPORTS - builds out-of-date imported classes.
- * </ul>
- */
- public abstract int getMakeSettings();
-
- /**
- * Determines whether this native Windows project is a GUI or a console application.
- * If it is a GUI application, the console window will be suprressed.
- * <p>Note: this option is only valid when generating native Windows targets.
- * @return <code>true</code> indicates GUI, <code>false</code> indicates console.
- * @see ProjectOptions#getTargetType
- */
- public abstract boolean isGUIApplication();
-
- /**
- * Determines whether this native Windows project will include profiling calls in the generated code.
- * <p>Note: this option is only valid when generating native Windows targets.
- * @return <code>true</code> indicates profiling calls included, <code>false</code> indicates no profiling calls.
- * @see ProjectOptions#getTargetType
- */
- public abstract boolean isUsePerformanceProfiling();
-
- /**
- * Determines whether this native Windows project will gnerate P6 or P5 Pentium code.
- * <p>Note: this option is only valid when generating native Windows targets.
- * @return <code>true</code> indicates P6 Pentium code generated, <code>false</code> indicates P5 Pentium code generated.
- * @see ProjectOptions#getTargetType
- */
- public abstract boolean isP6PentiumCodeGeneration();
-
- /**
- * Gets the current custom flags that will be passed to the SJ compiler.
- * @return the custom compiler flags.
- */
- public abstract String getCustomCompilerFlags();
-
- /**
- * Determines whether compiling the project will always run Javadoc as well.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
- */
- public abstract boolean isAlwaysProduceJavadocWhenCompiling();
-
- /**
- * Determines whether Javadoc will include "@version" paragraphs.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
- */
- public abstract boolean isJavadocIncludeVersion();
-
- /**
- * Determines whether Javadoc will include "@author" paragraphs.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
- */
- public abstract boolean isJavadocIncludeAuthor();
-
- /**
- * Determines whether Javadoc will generate a method and field index.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
- */
- public abstract boolean isJavadocGenerateIndex();
-
- /**
- * Determines whether Javadoc will split the index by initial letter.
- * <p>Note: this option is only valid when <code>isJavadocGenerateIndex</code> is <code>true</code>.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
- */
- public abstract boolean isJavadocSplitIndex();
-
- /**
- * Determines whether Javadoc will generate a class hierarchy.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
- */
- public abstract boolean isJavadocGenerateTree();
-
- /**
- * Determines whether Javadoc will include imported system classes.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
- */
- public abstract boolean isJavadocIncludeImportedSystemClasses();
-
-
- /**
- * Indicates Javadoc will only document classes and members that are "public".
- * @see #getJavadocClassesToDocument
- */
- public static final int CLASSESTODOCUMENT_PUBLIC = 0;
- /**
- * Indicates Javadoc will only document classes and members that are "public" and "protected" (default).
- * @see #getJavadocClassesToDocument
- */
- public static final int CLASSESTODOCUMENT_ANDPROTECTED = 1;
- /**
- * Indicates Javadoc will only document classes and members that are "public", "protected" and "package".
- * @see #getJavadocClassesToDocument
- */
- public static final int CLASSESTODOCUMENT_ANDPACKAGE = 2;
- /**
- * Indicates Javadoc will document classes and members that are "public", "protected", "package" and "private".
- * @see #getJavadocClassesToDocument
- */
- public static final int CLASSESTODOCUMENT_ANDPRIVATE = 3;
-
- /**
- * Get the type of classes and members that Javadoc will document.
- * This is <code>CLASSESTODOCUMENT_ANDPROTECTED</code> by default.
- * @return One of:<ul type=circle>
- * <li>CLASSESTODOCUMENT_PUBLIC - public classes/members only,
- * <li>CLASSESTODOCUMENT_ANDPROTECTED - public and protected classes/members only, or
- * <li>CLASSESTODOCUMENT_ANDPACKAGE - public, protected and package classes/members only, or
- * <li>CLASSESTODOCUMENT_ANDPRIVATE - public, protected, package and private classes/members.
- * </ul>
- */
- public abstract int getJavadocClassesToDocument();
-
- /**
- * Determines whether Sun's Javadoc compiler will be used.
- * @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
- */
- public abstract boolean isUseSunJavadoc();
- }
-