Package com.dci.intellij.dbn.data.model.basic

Source Code of com.dci.intellij.dbn.data.model.basic.BasicDataModelHeader

package com.dci.intellij.dbn.data.model.basic;


import com.dci.intellij.dbn.data.model.ColumnInfo;
import com.dci.intellij.dbn.data.model.DataModelHeader;
import com.dci.intellij.dbn.data.type.DBDataType;
import com.intellij.openapi.util.Disposer;

import java.util.ArrayList;
import java.util.List;

public class BasicDataModelHeader implements DataModelHeader {
    private List<ColumnInfo> columnInfos = new ArrayList<ColumnInfo>();


    protected void addColumnInfo(ColumnInfo columnInfo) {
        columnInfos.add(columnInfo);
        Disposer.register(this, columnInfo);
    }

    public List<ColumnInfo> getColumnInfos() {
        return columnInfos;
    }

    public ColumnInfo getColumnInfo(int columnIndex) {
        return columnInfos.get(columnIndex);
    }

    public int getColumnIndex(String name) {
        for (int i=0; i<columnInfos.size(); i++) {
            ColumnInfo columnInfo = columnInfos.get(i);
            if (columnInfo.getName().equalsIgnoreCase(name)) {
                return i;
            }
        }
        return -1;
    }

    public String getColumnName(int columnIndex) {
        return getColumnInfo(columnIndex).getName();
    }

    public DBDataType getColumnDataType(int columnIndex) {
        return getColumnInfo(columnIndex).getDataType();
    }

    public int getColumnCount() {
        return columnInfos.size();
    }

    /********************************************************
     *                    Disposable                        *
     ********************************************************/
    private boolean disposed;

    @Override
    public boolean isDisposed() {
        return disposed;
    }

    @Override
    public void dispose() {
        if (!isDisposed()) {
            disposed = true;
            columnInfos.clear();
        }
    }
}
TOP

Related Classes of com.dci.intellij.dbn.data.model.basic.BasicDataModelHeader

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.