Package com.dci.intellij.dbn.generator.action

Source Code of com.dci.intellij.dbn.generator.action.GenerateStatementActionGroup

package com.dci.intellij.dbn.generator.action;

import com.dci.intellij.dbn.browser.DatabaseBrowserManager;
import com.dci.intellij.dbn.database.DatabaseCompatibilityInterface;
import com.dci.intellij.dbn.database.DatabaseFeature;
import com.dci.intellij.dbn.object.DBColumn;
import com.dci.intellij.dbn.object.DBDataset;
import com.dci.intellij.dbn.object.DBSchema;
import com.dci.intellij.dbn.object.DBTable;
import com.dci.intellij.dbn.object.common.DBObject;
import com.dci.intellij.dbn.object.common.DBSchemaObject;
import com.intellij.openapi.actionSystem.DefaultActionGroup;

import java.util.List;

public class GenerateStatementActionGroup extends DefaultActionGroup {

    public GenerateStatementActionGroup(DBObject object) {
        super("Extract SQL Statement", true);
        if (object instanceof DBColumn || object instanceof DBDataset) {
            List<DBObject> selectedObjects = DatabaseBrowserManager.getInstance(object.getProject()).getSelectedObjects();
            add(new GenerateSelectStatementAction(selectedObjects));
        }

        if (object instanceof DBTable) {
            DBTable table = (DBTable) object;
            add(new GenerateInsertStatementAction(table));
        }

        DatabaseCompatibilityInterface compatibilityInterface = DatabaseCompatibilityInterface.getInstance(object);
        if (object instanceof DBSchemaObject &&
                object.getParentObject() instanceof DBSchema &&
                compatibilityInterface.supportsFeature(DatabaseFeature.OBJECT_DDL_EXTRACTION)) {
            if (getChildrenCount() > 1) {
                addSeparator();
            }
            add(new GenerateDDLStatementAction(object));
        }
    }
}
TOP

Related Classes of com.dci.intellij.dbn.generator.action.GenerateStatementActionGroup

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.