Package com.dci.intellij.dbn.connection

Source Code of com.dci.intellij.dbn.connection.ModuleConnectionBundle

package com.dci.intellij.dbn.connection;

import com.dci.intellij.dbn.common.Icons;
import com.dci.intellij.dbn.common.compatibility.CompatibilityUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleComponent;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.options.Configurable;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;

import javax.swing.Icon;

public class ModuleConnectionBundle extends ConnectionBundle implements ModuleComponent, Configurable {

    private Module module;
    public ModuleConnectionBundle(Module module) {
        super(module == null ? null : module.getProject());
        this.module = module;
    }

    public static ModuleConnectionBundle getInstance(Module module) {
        return module.getComponent(ModuleConnectionBundle.class);
    }

    public Module getModule() {
        return module;
    }

    public Icon getIcon(int flags) {
        ModuleType moduleType = CompatibilityUtil.getModuleType(module);
        return module == null ? null : moduleType.getNodeIcon(false);
    }

    /***************************************
    *            Configurable              *
    ****************************************/
    @NotNull
    @Override
    public String getId() {
        return "DBNavigator.Module.ConnectionBundle";
    }

    @Nls
    public String getDisplayName() {
        return "DB Connections";
    }

    public Icon getIcon() {
        return Icons.CONNECTIONS;
    }

    /***************************************
    *            ModuleComponent           *
    ****************************************/
    @NotNull
    @NonNls
    public String getComponentName() {
        return "DBNavigator.Module.ConnectionManager";
    }

    public void projectOpened() {}
    public void projectClosed() {}
    public void moduleAdded() {}
    public void initComponent() {}
    public void disposeComponent() {
        dispose();
    }


    @Override
    public String toString() {
        return "ModuleConnectionBundle[" + getModule().getName() + "]";
    }

    public int compareTo(@NotNull Object o) {
        if (o instanceof ModuleConnectionBundle) {
            ModuleConnectionBundle connectionManager = (ModuleConnectionBundle) o;
            return getModule().getName().compareTo(connectionManager.getModule().getName());
        }
        return -1;
    }
}
TOP

Related Classes of com.dci.intellij.dbn.connection.ModuleConnectionBundle

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.