Revert "don't hardcode Java module type implementation"

This reverts commit 0cd9404d67.
This commit is contained in:
kirill.safonov
2011-10-18 21:16:45 +04:00
parent dec8540487
commit bb6c7e0e3a
3 changed files with 18 additions and 10 deletions
@@ -36,10 +36,8 @@ import java.util.ArrayList;
public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
public static final String ID = "JAVA_MODULE";
public JavaModuleType() {
this(ID);
this("JAVA_MODULE");
}
protected JavaModuleType(@NonNls String id) {
@@ -20,26 +20,24 @@
*/
package com.intellij.openapi.module.impl;
import com.intellij.openapi.module.JavaModuleType;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.module.StdModuleTypes;
import org.jetbrains.annotations.NonNls;
public class JavaAwareModuleTypeManagerImpl extends ModuleTypeManagerImpl{
@NonNls private static final String JAVA_MODULE_ID_OLD = "JAVA";
private static final JavaModuleType JAVA_MODULE_TYPE = new JavaModuleType();
public ModuleType getDefaultModuleType() {
return JAVA_MODULE_TYPE;
return StdModuleTypes.JAVA;
}
@Override
public ModuleType findByID(final String moduleTypeID) {
if (moduleTypeID != null) {
if (JAVA_MODULE_ID_OLD.equals(moduleTypeID)) {
return JAVA_MODULE_TYPE; // for compatibility with the previous ID that Java modules had
return StdModuleTypes.JAVA; // for compatibility with the previous ID that Java modules had
}
}
return super.findByID(moduleTypeID);
}
}
}
@@ -17,9 +17,21 @@ package com.intellij.openapi.module;
public class StdModuleTypes {
// predefined module types
public static ModuleType JAVA = ModuleTypeManager.getInstance().findByID("JAVA_MODULE");
public static ModuleType JAVA;
private StdModuleTypes() {
}
static {
JAVA = instantiate("com.intellij.openapi.module.JavaModuleType");
}
private static ModuleType instantiate(String className) {
try {
return (ModuleType)Class.forName(className).newInstance();
}
catch (Exception e) {
throw new IllegalArgumentException(e);
}
}
}