1 11 package org.eclipse.pde.internal.ui.util; 12 13 import java.util.Locale ; 14 15 import org.eclipse.core.resources.IContainer; 16 import org.eclipse.core.resources.IFile; 17 import org.eclipse.core.resources.IProject; 18 import org.eclipse.core.resources.IResource; 19 import org.eclipse.core.runtime.CoreException; 20 import org.eclipse.jface.viewers.Viewer; 21 import org.eclipse.jface.viewers.ViewerFilter; 22 23 public class FileExtensionFilter extends ViewerFilter { 24 25 private String fTargetExtension; 26 27 public FileExtensionFilter(String targetExtension) { 28 fTargetExtension = targetExtension; 29 } 30 31 public boolean select(Viewer viewer, Object parent, Object element) { 32 if (element instanceof IFile) { 33 return ((IFile)element).getName().toLowerCase(Locale.ENGLISH).endsWith("." + fTargetExtension); } 35 36 if (element instanceof IProject && !((IProject)element).isOpen()) 37 return false; 38 39 if (element instanceof IContainer){ try { 41 IResource[] resources = ((IContainer)element).members(); 42 for (int i = 0; i < resources.length; i++){ 43 if (select(viewer, parent, resources[i])) 44 return true; 45 } 46 } catch (CoreException e) { 47 } 48 } 49 return false; 50 } 51 52 } 53 | Popular Tags |