001 /*
002 * file FolderContentProvider.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM - you are allowed to copy, modify and
006 * redistribute this file as part of any program that interfaces with
007 * IBM Rational CM API.
008 *
009 * com.ibm.rational.teamapi.scout.FolderContentProvider
010 *
011 * © Copyright IBM Corporation 2005, 2008. All Rights Reserved.
012 * Note to U.S. Government Users Restricted Rights: Use, duplication or
013 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
014 */
015 package com.ibm.rational.teamapi.scout;
016
017 import org.eclipse.jface.viewers.ITreeContentProvider;
018 import org.eclipse.jface.viewers.Viewer;
019
020 /**
021 * An implementation of ITreeContentProvider for ProxyElement objects.
022 * All methods are implemented via direct calls to methods on the ProxyElement
023 * being displayed.
024 */
025 public class FolderContentProvider implements ITreeContentProvider {
026 /*
027 * @see IContentProvider#dispose()
028 */
029 public void dispose() {}
030
031 /*
032 * @see ITreeContentProvider#getChildren(Object)
033 */
034 public Object[] getChildren(Object parentElement) {
035 return ((ProxyElement)parentElement).getChildren();
036 }
037
038 /*
039 * @see ITreeContentProvider#getParent(Object)
040 */
041 public Object getParent(Object element) {
042 return ((ProxyElement)element).getParent();
043 }
044
045 /*
046 * @see ITreeContentProvider#hasChildren(Object)
047 */
048 public boolean hasChildren(Object element) {
049 return ((ProxyElement)element).couldBeFolder();
050 }
051
052 /*
053 * @see IStructuredContentProvider#getElements(Object)
054 */
055 public Object[] getElements(Object inputElement) {
056 return getChildren(inputElement);
057 }
058
059 /*
060 * @see IStructuredContentProvider#inputChanged
061 */
062 public void inputChanged(
063 Viewer viewer,
064 Object oldInput,
065 Object newInput)
066 {
067 }
068 }