001/*****************************************************************************
002 * Copyright by The HDF Group.                                               *
003 * Copyright by the Board of Trustees of the University of Illinois.         *
004 * All rights reserved.                                                      *
005 *                                                                           *
006 * This file is part of the HDF Java Products distribution.                  *
007 * The full copyright notice, including terms governing use, modification,   *
008 * and redistribution, is contained in the files COPYING and Copyright.html. *
009 * COPYING can be found at the root of the source code distribution tree.    *
010 * Or, see https://support.hdfgroup.org/products/licenses.html               *
011 * If you do not have access to either file, you may request a copy from     *
012 * help@hdfgroup.org.                                                        *
013 ****************************************************************************/
014
015package hdf.view.DataView;
016
017import java.util.HashMap;
018
019import org.eclipse.swt.widgets.Composite;
020import org.eclipse.swt.widgets.Shell;
021
022import hdf.object.HObject;
023import hdf.view.ImageView.ImageView;
024import hdf.view.MetaDataView.MetaDataView;
025import hdf.view.PaletteView.PaletteView;
026import hdf.view.TableView.TableView;
027import hdf.view.TreeView.TreeView;
028
029public abstract class DataViewFactory {
030    /* Get an instance of TableView given the appropriate constructor parameters */
031    @SuppressWarnings("rawtypes")
032    public abstract TableView    getTableView(DataViewManager viewer, HashMap dataPropertiesMap) throws ClassNotFoundException;
033
034    /* Get an instance of ImageView given the appropriate constructor parameters */
035    @SuppressWarnings("rawtypes")
036    public abstract ImageView    getImageView(DataViewManager viewer, HashMap dataPropertiesMap) throws ClassNotFoundException;
037
038    /*
039     * Get an instance of PaletteView given the appropriate constructor parameters
040     */
041    public abstract PaletteView  getPaletteView(Shell parent, DataViewManager viewer, ImageView theImageView) throws ClassNotFoundException;
042
043    /*
044     * Get an instance of MetaDataView given the appropriate constructor parameters
045     */
046    public abstract MetaDataView getMetaDataView(Composite parentObj, DataViewManager viewer, HObject theObj) throws ClassNotFoundException;
047
048    /*
049     * Get an instance of TreeView given the appropriate constructor parameters
050     */
051    public abstract TreeView     getTreeView(Composite parent, DataViewManager viewer) throws ClassNotFoundException;
052}