01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.sdlctools.services.jdktools;
16:
17: import com.metaboss.enterprise.bs.BSException;
18:
19: /** This component is a Java Compilation service */
20: public interface BSJavaCompiler {
21: /** Naming URL of the component */
22: public static final String COMPONENT_URL = "component:/com.metaboss.sdlctools.services.jdktools.BSJavaCompiler";
23:
24: /** Compiles given single source and returns the jar file contents
25: * @param pPublicClassOrInterfaceName fully qualified name or interface to compile
26: * @param pClassOrInterfaceSource the source text of the class
27: * @return CompilationResult contains the result of the requested operation */
28: public CompilationResult compileSource(
29: String pPublicClassOrInterfaceName,
30: String pClassOrInterfaceSource, SourceType pSourceType)
31: throws BSException;
32:
33: /** Compiles given zip file with source and returns the jar file contents
34: * @param pSourceZip the zip file with as many as necessary .java files located in their package
35: * subdirectory tree as needed. All non .java files will be simply copied from the source tree to the
36: * destination tree and will become part of the retuned jar
37: * @return CompilationResult contains the result of the requested operation */
38: public CompilationResult compileZippedSource(byte[] pSourceZip,
39: SourceType pSourceType) throws BSException;
40:
41: /** Compiles all java files under given local directory and returns the jar file contents
42: * @param pSourceDirAbsolutePath the path of the directory directory with as many as necessary .java files
43: * located in their package subdirectory tree as needed. All non .java files will be simply copied from the source tree to the
44: * destination tree and will become part of the retuned jar
45: * @return CompilationResult contains the result of the requested operation */
46: public CompilationResult compileLocalSource(
47: String pSourceDirAbsolutePath, SourceType pSourceType)
48: throws BSException;
49: }
|