01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.drools.commons.jci.compilers;
19:
20: import java.util.HashMap;
21: import java.util.Map;
22:
23: import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
24:
25: /**
26: * Native Eclipse compiler settings
27: *
28: * @author tcurdt
29: */
30: public final class EclipseJavaCompilerSettings extends
31: JavaCompilerSettings {
32:
33: final private Map defaultEclipseSettings = new HashMap();
34:
35: public EclipseJavaCompilerSettings() {
36: defaultEclipseSettings.put(
37: CompilerOptions.OPTION_LineNumberAttribute,
38: CompilerOptions.GENERATE);
39: defaultEclipseSettings.put(
40: CompilerOptions.OPTION_SourceFileAttribute,
41: CompilerOptions.GENERATE);
42: defaultEclipseSettings.put(
43: CompilerOptions.OPTION_ReportUnusedImport,
44: CompilerOptions.IGNORE);
45: defaultEclipseSettings.put(
46: CompilerOptions.OPTION_LocalVariableAttribute,
47: CompilerOptions.GENERATE);
48: }
49:
50: public EclipseJavaCompilerSettings(final Map pMap) {
51: defaultEclipseSettings.putAll(pMap);
52: }
53:
54: public Map getMap() {
55: final Map map = new HashMap(defaultEclipseSettings);
56:
57: map.put(CompilerOptions.OPTION_ReportDeprecation,
58: CompilerOptions.GENERATE); // Not sure what we put here from JavaCompilerSettings
59: map.put(CompilerOptions.OPTION_TargetPlatform,
60: (getTargetVersion() != null) ? getTargetVersion()
61: : CompilerOptions.VERSION_1_4);
62: map.put(CompilerOptions.OPTION_Source,
63: (getSourceVersion() != null) ? getSourceVersion()
64: : CompilerOptions.VERSION_1_4);
65: map.put(CompilerOptions.OPTION_Encoding,
66: (getSourceEncoding() != null) ? getSourceEncoding()
67: : "UTF-8");
68:
69: return map;
70: }
71:
72: public String toString() {
73: return defaultEclipseSettings.toString();
74: }
75: }
|