/******************************************************************************* * Copyright © 2012, 2013 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation * *******************************************************************************/ package org.eclipse.edt.debug.core.java.filters; import org.eclipse.edt.debug.core.java.IEGLJavaDebugTarget; import org.eclipse.jdt.debug.core.IJavaStackFrame; /** * Type filters let the user prevent suspending inside a particular Java type. They are contributed via the "org.eclipse.edt.debug.core.typeFilters" * extension point. */ public interface ITypeFilter { /** * @return this filter's ID. */ public String getId(); /** * Sets this filter's ID. * * @param id The ID. */ public void setId( String id ); /** * @return the ID of this filter's type filter category. */ public String getCategoryId(); /** * Sets the ID of this filter's type filter category. * * @param id The category ID. */ public void setCategoryId( String id ); /** * @return this filter's type filter category. */ public ITypeFilterCategory getCategory(); /** * Sets the type filter category to which this filter belongs (i.e. its parent). * * @param category The type filter category. */ public void setCategory( ITypeFilterCategory category ); /** * Given a frame this filter returns true if the frame should be filtered, or false if it should not be filtered. * * @param frame The Java stack frame. * @param target The EGL debug target. * @return true if the frame should be filtered, otherwise false. */ public boolean filter( IJavaStackFrame frame, IEGLJavaDebugTarget target ); /** * Called when installing this filter to a target. Note that this can be called multiple times for the same target, for example if a filter was * disabled during the running of an application, and then re-enabled. * * @param target The EGL debug target. */ public void initialize( IEGLJavaDebugTarget target ); /** * Called when the given debug target is terminating. * * @param target The EGL debug target. */ public void dispose( IEGLJavaDebugTarget target ); /** * Called when this filter as a whole should be disposed. */ public void dispose(); }