/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * 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 - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.tests.dialogs;

/**
 * FOR USE BY TESTS ONLY!
 * <p>
 * Stub class that provides access to classes visible to the package
 * <code>org.eclipse.ui.views.tasklist</code>.  For the purpose
 * of testing.
 * </p>
 * @private
 */
public class TaskListTestStub {
    //Prevent instantiation
    private TaskListTestStub() {
    }

    /**
     * Gives access to an instance of FiltersDialog.
     * @return FiltersDialog an instance of FiltersDialog.
     */
    /**
     * 1GJWD2E: ITPUI:ALL - Test classes should not be released in public packages.
     * 
     public static FiltersDialog newFiltersDialog(Shell parentShell) {
     return new FiltersDialog(parentShell);
     }
     */
}

