| package com.intellij.framework.library; |
| |
| import com.intellij.framework.FrameworkTypeEx; |
| import com.intellij.framework.addSupport.FrameworkSupportInModuleConfigurable; |
| import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider; |
| import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel; |
| import com.intellij.openapi.module.JavaModuleType; |
| import com.intellij.openapi.module.Module; |
| import com.intellij.openapi.module.ModuleType; |
| import com.intellij.openapi.roots.ModifiableModelsProvider; |
| import com.intellij.openapi.roots.ModifiableRootModel; |
| import com.intellij.openapi.roots.ui.configuration.libraries.CustomLibraryDescription; |
| import org.jetbrains.annotations.NotNull; |
| |
| import javax.swing.*; |
| |
| public class LibraryBasedFrameworkSupportProvider extends FrameworkSupportInModuleProvider { |
| private final FrameworkTypeEx myFrameworkType; |
| private final Class<? extends DownloadableLibraryType> myLibraryTypeClass; |
| |
| public LibraryBasedFrameworkSupportProvider(FrameworkTypeEx frameworkType, Class<? extends DownloadableLibraryType> libraryTypeClass) { |
| myFrameworkType = frameworkType; |
| myLibraryTypeClass = libraryTypeClass; |
| } |
| |
| @NotNull |
| @Override |
| public FrameworkTypeEx getFrameworkType() { |
| return myFrameworkType; |
| } |
| |
| @NotNull |
| @Override |
| public FrameworkSupportInModuleConfigurable createConfigurable(@NotNull final FrameworkSupportModel model) { |
| return new LibrarySupportConfigurable(); |
| } |
| |
| public boolean isEnabledForModuleType(@NotNull ModuleType moduleType) { |
| return moduleType instanceof JavaModuleType; |
| } |
| |
| private class LibrarySupportConfigurable extends FrameworkSupportInModuleConfigurable { |
| @Override |
| public JComponent createComponent() { |
| return null; |
| } |
| |
| @Override |
| public void addSupport(@NotNull Module module, |
| @NotNull ModifiableRootModel rootModel, |
| @NotNull ModifiableModelsProvider modifiableModelsProvider) { |
| } |
| |
| @NotNull |
| @Override |
| public CustomLibraryDescription createLibraryDescription() { |
| return DownloadableLibraryService.getInstance().createDescriptionForType(myLibraryTypeClass); |
| } |
| |
| @Override |
| public boolean isOnlyLibraryAdded() { |
| return true; |
| } |
| } |
| } |