Custom components for module types

To make a module type I need to create several components for my specific module type. Some of them replace base IDEA components (for example, if module type has custom ModuleBuildProperties then you have to specify interface-class=com.intellij.javaee.make.ModuleBuildProperties for it because IDEA will be searching ModuleBuildProperties by this interface-class). The same applies to ModuleBuildDescriptor (and, maybe, some more components).
The question is: why on earth i MUST NOT specify interface-class for ModuleConfigurationEditorProvider??? IDEA shows error ("com.intellij.diagnostic.PluginException: ComponentSetup for component com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider already registered") if I specify it. But it perfectly works without interface-class.

2 comments
Comment actions Permalink

OK, I'll try to ask question other way.

ComponentManager has method T getComponent(Class interfaceClass). Why just but not ? Or even class ComponentManager { K getComponent(Class interfaceClass) ... } class Module extends ComponentManager]]> {
...
}

0
Comment actions Permalink

Oops, wrong thread.

0

Please sign in to leave a comment.