⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abstractcompiler.java

📁 Java有关XML编程需要用到axis 的源代码 把里面bin下的包导入相应的Java工程 进行使用
💻 JAVA
字号:
/* * Copyright 2001-2004 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. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.axis.components.compiler;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;/** * This class implements the functionality common to all Java compilers. * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a> * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a> * @since 2.0 */public abstract class AbstractCompiler implements Compiler {  /**   * The source program filenames   */  protected ArrayList  fileList = new ArrayList();  /**   * The name of the directory containing the source program file   */  protected String    srcDir;  /**   * The name of the directory to contain the resulting object program file   */  protected String    destDir;  /**   * The classpath to be used for compilation   */  protected String    classpath;  /**   * The encoding of the source program or <code>null</code> to use the   * platform's default encoding   */  protected String    encoding = null;  /**   * The input stream to output compilation errors   */  protected InputStream errors;  /**   * Add the name of the file containing the source program to the file list   *   * @param file The name of the file containing the source program   */  public void addFile(String file) {    this.fileList.add(file);  }  /**   * Set the name of the directory containing the source program file   *   * @param srcDir The name of the directory containing the source program file   */  public void setSource(String srcDir) {    this.srcDir = srcDir;  }  /**   * Set the name of the directory to contain the resulting object program file   *   * @param destDir The name of the directory to contain the resulting object   * program file   */  public void setDestination(String destDir) {      this.destDir = destDir;  }  /**   * Set the classpath to be used for this compilation   *   * @param classpath The classpath to be used for this compilation   */  public void setClasspath(String classpath) {    this.classpath = classpath;  }  /**   * Set the encoding of the input source file or <code>null</code> to use the   * platform's default encoding   *   * @param encoding The encoding of the input source file or <code>null</code>   * to use the platform's default encoding   */  public void setEncoding(String encoding) {    this.encoding = encoding;  }  /**   * Return the list of errors generated by this compilation   *   * @return The list of errors generated by this compilation   * @exception IOException If an error occurs during message collection   */  public List getErrors() throws IOException {    return parseStream(new BufferedReader(new InputStreamReader(errors)));  }  /**   * Parse the compiler error stream to produce a list of   * <code>CompilerError</code>s   *   * @param errors The error stream   * @return The list of compiler error messages   * @exception IOException If an error occurs during message collection   */  protected abstract List parseStream(BufferedReader errors)      throws IOException;  /**   * Fill the arguments taken by the Java compiler   *   * @param arguments The list of compilation arguments   * @return The prepared list of compilation arguments   */  protected List fillArguments(List arguments) {    // destination directory    arguments.add("-d");    arguments.add(destDir);    // classpath    arguments.add("-classpath");    arguments.add(classpath);    // sourcepath    if(srcDir != null) {        arguments.add("-sourcepath");        arguments.add(srcDir);    }    // add optimization (for what is worth)    arguments.add("-O");    // add debug option    arguments.add("-g");    // add encoding if set    if (encoding != null) {      arguments.add("-encoding");      arguments.add(encoding);    }    return arguments;  }  /**   * Copy arguments to a string array   *   * @param arguments The compiler arguments   * @return A string array containing compilation arguments   */  protected String[] toStringArray(List arguments) {    int    i;    String[] args = new String[arguments.size() + fileList.size()];    for (i = 0; i < arguments.size(); i++) {      args[i] = (String) arguments.get(i);    }    for (int j=0; j < fileList.size(); i++,j++) {        args[i] = (String)fileList.get(j);    }    return args;  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -