1 11 12 package org.eclipse.jdt.internal.ui.viewsupport; 13 14 import org.eclipse.jface.viewers.Viewer; 15 import org.eclipse.jface.viewers.ViewerFilter; 16 17 20 public abstract class JavaViewerFilter extends ViewerFilter { 21 22 private int fCount= 0; 23 24 27 protected abstract void initFilter(); 28 29 protected abstract void freeFilter(); 30 31 public final void filteringStart() { 32 if (fCount == 0) 33 initFilter(); 34 fCount++; 35 } 36 37 public final void filteringEnd() { 38 fCount--; 39 if (fCount == 0) 40 freeFilter(); 41 } 42 43 46 public Object [] filter(Viewer viewer, Object parent, Object [] elements) { 47 try { 48 filteringStart(); 49 return super.filter(viewer, parent, elements); 50 } finally { 51 filteringEnd(); 52 } 53 } 54 55 56 } 57 | Popular Tags |