diff options
Diffstat (limited to 'common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/NavigatorContentProvider.java')
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/NavigatorContentProvider.java | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/NavigatorContentProvider.java b/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/NavigatorContentProvider.java deleted file mode 100644 index 17ba135212..0000000000 --- a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/jface/NavigatorContentProvider.java +++ /dev/null @@ -1,135 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 Oracle. 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: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.common.ui.internal.jface; - -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProviderFactory; -import org.eclipse.jpt.common.ui.jface.ItemTreeContentProviderFactory; -import org.eclipse.jpt.common.ui.jface.TreeStateProvider; -import org.eclipse.jpt.common.utility.internal.StringTools; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.navigator.ICommonContentExtensionSite; -import org.eclipse.ui.navigator.ICommonContentProvider; - -/** - * This content provider delegates to a {@link TreeStateProvider} that is - * shared with a partner {@link NavigatorLabelProvider label provider}. - * <p> - * Concrete subclasses of this provider can be used as the content provider - * in extensions of <code>org.eclipse.ui.navigator.navigatorContent</code>. - */ -public abstract class NavigatorContentProvider - implements ICommonContentProvider -{ - protected TreeStateProvider delegate; - - - /** - * Must use zero-argument constructor because the provider is instantiated - * by the Navigator Content extension point - * (<code>org.eclipse.ui.navigator.navigatorContent</code>). - */ - protected NavigatorContentProvider() { - super(); - } - - /** - * The content provider is initialized first; so we build the delegate - * here. - */ - public void init(ICommonContentExtensionSite config) { - this.delegate = this.buildDelegate(); - } - - protected TreeStateProvider buildDelegate() { - return new ItemTreeStateProviderManager( - this.buildItemContentProviderFactory(), - this.buildItemLabelProviderFactory() - ); - } - - /** - * Return a factory that will build item content providers for the - * appropriate items in the navigator. - */ - protected abstract ItemTreeContentProviderFactory buildItemContentProviderFactory(); - - /** - * Return a factory that will build item label providers for the - * appropriate items in the navigator. - */ - protected abstract ItemExtendedLabelProviderFactory buildItemLabelProviderFactory(); - - public void inputChanged(Viewer commonViewer, Object oldInput, Object newInput) { - this.delegate.inputChanged(commonViewer, oldInput, newInput); - } - - public Object[] getElements(Object inputElement) { - // never called? - return this.delegate.getElements(inputElement); - } - - public Object getParent(Object element) { - return this.delegate.getParent(element); - } - - public boolean hasChildren(Object element) { - return this.hasChildren_(element) || this.delegate.hasChildren(element); - } - - /** - * Return whether the specified element has children. This method handles - * any element that is <em>not</em> handled by the {@link #delegate} but is - * the parent of element(s) that <em>are</em> handled by the - * {@link #delegate} (i.e. any third-party element that is to hold the - * provider's elements; e.g. a project). Return <code>false</code> if the - * element is to be handled by the {@link #delegate}. - */ - protected abstract boolean hasChildren_(Object element); - - public Object[] getChildren(Object element) { - Object[] children = this.getChildren_(element); - return (children != null) ? children : this.delegate.getChildren(element); - } - - /** - * Return the specified element's children. This method handles - * any element that is <em>not</em> handled by the {@link #delegate} but is - * the parent of element(s) that <em>are</em> handled by the - * {@link #delegate} (i.e. any third-party element that is to hold the - * provider's elements; e.g. a project). Return <code>null</code> if the - * element is to be handled by the {@link #delegate}. - */ - protected abstract Object[] getChildren_(Object element); - - public void saveState(IMemento memento) { - // TODO - } - - public void restoreState(IMemento memento) { - // TODO - } - - @Override - public String toString() { - return StringTools.buildToStringFor(this); - } - - public void dispose() { - this.delegate.dispose(); - } - - /** - * @see NavigatorLabelProvider#getDelegate() - */ - TreeStateProvider getDelegate() { - return this.delegate; - } -} |