/******************************************************************************* * 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.jdt.debug.core.IJavaStackFrame; /** * A type filter category represents one or more type filters. When the category is enabled, all its contained filters are checked when suspending to * see if we should continue execution. They are contributed via the "org.eclipse.edt.debug.core.typeFilters" extension point. */ public interface ITypeFilterCategory { /** * @return this category's ID. */ public String getId(); /** * Sets this category's ID. * * @param id The ID. */ public void setId( String id ); /** * @return this category's name. */ public String getName(); /** * Sets this category's name. * * @param name The name. */ public void setName( String name ); /** * @return this category's description. */ public String getDescription(); /** * Sets this category's description. * * @param description The description. */ public void setDescription( String description ); /** * @return true if this category is enabled. */ public boolean isEnabled(); /** * Sets the enablement of this category. * * @param enabled The enablement. */ public void setEnabled( boolean enabled ); /** * @return true if this category is visible in the UI for configuration. */ public boolean isVisible(); /** * Sets the visibility of this category. * * @param visible The visibility. */ public void setVisible( boolean visible ); /** * @return the default enablement of this category. */ public boolean getDefaultEnablement(); /** * Sets the default enablement of this category. * * @param defaultEnablement The default enablement. */ public void setDefaultEnablement( boolean defaultEnablement ); /** * Returns this category's step type. When a frame is being filtered, that frame is passed in for optional step type criteria. Null may be passed * in when a client is looking for the user-chosen step type and there is no Java frame to be consulted for additional criteria. * * @param frame The Java frame that's being filtered, possible null. * @return this category's step type. */ public FilterStepType getStepType( IJavaStackFrame frame ); /** * Sets this category's step type. * * @param stepType The step type. */ public void setStepType( FilterStepType stepType ); /** * @return this category's default step type. */ public FilterStepType getDefaultStepType(); /** * Sets this category's default step type. * * @param defaultStepType The default step type. */ public void setDefaultStepType( FilterStepType defaultStepType ); /** * @return this category's filters. */ public ITypeFilter[] getFilters(); /** * Adds a filter to this category. * * @param filter The filter to be added. */ public void addFilter( ITypeFilter filter ); /** * Sets the filters for this category. * * @param filters The new list of filters for this category. */ public void setFilters( ITypeFilter[] filters ); /** * Called when this category should be disposed. */ public void dispose(); }