mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
don't hardcode Java module type implementation
This commit is contained in:
@@ -36,8 +36,10 @@ import java.util.ArrayList;
|
||||
|
||||
public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
|
||||
|
||||
public static final String ID = "JAVA_MODULE";
|
||||
|
||||
public JavaModuleType() {
|
||||
this("JAVA_MODULE");
|
||||
this(ID);
|
||||
}
|
||||
|
||||
protected JavaModuleType(@NonNls String id) {
|
||||
|
||||
+6
-4
@@ -20,24 +20,26 @@
|
||||
*/
|
||||
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 StdModuleTypes.JAVA;
|
||||
return JAVA_MODULE_TYPE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModuleType findByID(final String moduleTypeID) {
|
||||
if (moduleTypeID != null) {
|
||||
if (JAVA_MODULE_ID_OLD.equals(moduleTypeID)) {
|
||||
return StdModuleTypes.JAVA; // for compatibility with the previous ID that Java modules had
|
||||
return JAVA_MODULE_TYPE; // for compatibility with the previous ID that Java modules had
|
||||
}
|
||||
}
|
||||
return super.findByID(moduleTypeID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,21 +17,9 @@ package com.intellij.openapi.module;
|
||||
|
||||
public class StdModuleTypes {
|
||||
// predefined module types
|
||||
public static ModuleType JAVA;
|
||||
public static ModuleType JAVA = ModuleTypeManager.getInstance().findByID("JAVA_MODULE");
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user