01: /*******************************************************************************
02: * Copyright (c) 2000, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.jdt.internal.ui.filters;
11:
12: import org.eclipse.jface.viewers.Viewer;
13: import org.eclipse.jface.viewers.ViewerFilter;
14:
15: import org.eclipse.jdt.core.IPackageFragment;
16: import org.eclipse.jdt.core.JavaModelException;
17:
18: /**
19: * Filters empty non-leaf package fragments
20: */
21: public class EmptyInnerPackageFilter extends ViewerFilter {
22:
23: /*
24: * @see ViewerFilter
25: */
26: public boolean select(Viewer viewer, Object parent, Object element) {
27: if (element instanceof IPackageFragment) {
28: IPackageFragment pkg = (IPackageFragment) element;
29: try {
30: if (pkg.isDefaultPackage())
31: return pkg.hasChildren();
32: return !pkg.hasSubpackages() || pkg.hasChildren()
33: || (pkg.getNonJavaResources().length > 0);
34: } catch (JavaModelException e) {
35: return false;
36: }
37: }
38:
39: return true;
40: }
41: }
|