Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/axis/components/compiler/CompilerFactory.java


1   /*
2    * Copyright 2001-2004 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.apache.axis.components.compiler;
18  
19  import org.apache.axis.AxisProperties;
20  import org.apache.axis.components.logger.LogFactory;
21  import org.apache.axis.utils.Messages;
22  import org.apache.commons.logging.Log;
23  
24  
25  /**
26   * This class implements a factory to instantiate a Compiler.
27   * @author <a href="mailto:dims@yahoo.com">Davanum Srinivas</a>
28   * @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
29   * @since 2.0
30   */
31  public class CompilerFactory {
32      protected static Log log =
33          LogFactory.getLog(CompilerFactory.class.getName());
34  
35      static {
36          AxisProperties.setClassOverrideProperty(Compiler.class, "axis.Compiler");
37  
38          AxisProperties.setClassDefault(Compiler.class,
39                                         "org.apache.axis.components.compiler.Javac");
40      }
41  
42      public static Compiler getCompiler() {
43          Compiler compiler = (Compiler)AxisProperties.newInstance(Compiler.class);
44          
45          /**
46           * This shouldn't be needed, but seems to be a common feel-good:
47           */
48          if (compiler == null) {
49              log.debug(Messages.getMessage("defaultCompiler"));
50              compiler = new Javac();
51          }
52  
53          log.debug("axis.Compiler:" + compiler.getClass().getName());
54  
55          return compiler;
56      }
57  }