/*******************************************************************************
* Copyright (c) 2006 IBM Corporation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - Jeff Briggs, Henry Hughes, Ryan Morse
*******************************************************************************/
package org.eclipse.linuxtools.systemtap.graphing.ui.wizards.dataset;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.IDataSet;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.IFilteredDataSet;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.row.FilteredRowDataSet;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.row.RowDataSet;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.table.FilteredTableDataSet;
import org.eclipse.linuxtools.systemtap.graphing.core.datasets.table.TableDataSet;
import org.eclipse.linuxtools.systemtap.graphing.ui.datadisplay.DataGrid;
import org.eclipse.swt.widgets.Composite;
public final class DataSetFactory {
public static IDataSet createDataSet(String id, String[] labels) {
if(id.equals(RowDataSet.ID)) {
return new RowDataSet(labels);
} else if(id.equals(TableDataSet.ID)) {
return new TableDataSet(labels);
}
return null;
}
public static IFilteredDataSet createFilteredDataSet(String id, String[] labels) {
if(id.equals(RowDataSet.ID)) {
return new FilteredRowDataSet(labels);
} else if(id.equals(TableDataSet.ID)) {
return new FilteredTableDataSet(labels);
}
return new FilteredRowDataSet(labels);
}
/**
* Returns DataGrid instance containing the given data set as a sibling of the composite.
* @param composite The parent composite.
* @param set The data set.
* @return The DataGrid instance created.
* @since 3.0 set must be a IFilteredDataSet.
*/
public static DataGrid getDataGrid(Composite composite, IFilteredDataSet set) {
if(set instanceof RowDataSet || set instanceof TableDataSet) {
return new DataGrid(composite, set);
}
return null;
}
}