Package org.eclipse.debug.ui.actions

# Interface IToggleBreakpointsTargetFactory

public interface IToggleBreakpointsTargetFactory
A toggle breakpoints target factory creates one or more toggle breakpoint targets. The toggle breakpoints targets are used by toggle breakpoint actions to create breakpoints appropriate for the active editor, debug session, project, or selection.

Toggle breakpoints target factories are contributed via the `org.eclipse.debug.ui.toggleBreakpointsTargetFactories` extension point. Following is an example of a detail pane factory extension:

     <extension point="org.eclipse.debug.ui.toggleBreakpointsTargetFactories">
        <toggleTargetFactory
                id="com.example.ExampleBreakpointToggleTargetFactory"
                class="com.example.BreakpointToggleTargetFactory">
            <enablement>
               <!-- Test the active debug context.  Enable only if the active context
                    is an element from "Example" debugger, or if there is no debug context
                    associated with the context element.  Also enable if debug context is
                    empty -->
               <with variable="debugContext">
                  <iterate>
                   <or>
                      <test property="org.eclipse.debug.ui.getModelIdentifier" value="com.example.model"/>
                      <test property="org.eclipse.debug.ui.getModelIdentifier" value=""/>
                   </or>
               </iterate>
               </with>
               <!-- If there is no active debug context.  Enable the breakpoint toggle for
                    the "Example" editors -->
               <instanceof value="com.example.Editor"/>
            </enablement>
        </toggleTargetFactory>
     </extension>

Clients contributing a toggle breakpoints target factory are intended to implement this interface.

Since:
  3.5
See Also:
  - `IToggleBreakpointsTarget`
  - `IToggleBreakpointsTargetExtension`
  - `IToggleBreakpointsTargetManager`

## Method Summary

Modifier and Type
Method
Description
`IToggleBreakpointsTarget`
`createToggleTarget(String targetID)`
Creates and returns a toggle breakpoint target corresponding to the given identifier that this factory can produce (according to `getToggleTargets(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)`).
`String`
`getDefaultToggleTarget(IWorkbenchPart part, ISelection selection)`
Returns the identifier of the default toggle breakpoints target to use for the given selection, or `null` if this factory has no preference.
`String`
`getToggleTargetDescription(String targetID)`
Returns a description for the breakpoint toggle target associated with the given ID or `null` if none.
`String`
`getToggleTargetName(String targetID)`
Returns a human readable name for the breakpoint toggle target associated with the given ID.
`Set<String>`
`getToggleTargets(IWorkbenchPart part, ISelection selection)`
Returns all possible types of toggle breakpoints targets that this factory can create for the given selection and part, possibly empty.

## Method Details

### getToggleTargets

Set<String> getToggleTargets(IWorkbenchPart part, ISelection selection)
Returns all possible types of toggle breakpoints targets that this factory can create for the given selection and part, possibly empty. Toggle breakpoints targets are returned as a set of IDs.

Parameters:
  `part` - The active part.
  `selection` - The current selection
Returns:
  Set of `String` IDs for possible toggle breakpoint targets, possibly empty

### getDefaultToggleTarget

String getDefaultToggleTarget(IWorkbenchPart part, ISelection selection)
Returns the identifier of the default toggle breakpoints target to use for the given selection, or `null` if this factory has no preference.

Parameters:
  `part` - The active part.
  `selection` - The current selection
Returns:
  a breakpoint toggle target identifier or `null`

### createToggleTarget

IToggleBreakpointsTarget createToggleTarget(String targetID)
Creates and returns a toggle breakpoint target corresponding to the given identifier that this factory can produce (according to `getToggleTargets(org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection)`).

Parameters:
  `targetID` - The id of the toggle target to be created
Returns:
  toggle target or `null` if one could not be created

### getToggleTargetName

String getToggleTargetName(String targetID)
Returns a human readable name for the breakpoint toggle target associated with the given ID. Used to populate the context menu with meaningful names of the types of breakpoints created by the given target.

Parameters:
  `targetID` - toggle breakpoints target identifier
Returns:
  toggle target name

### getToggleTargetDescription

String getToggleTargetDescription(String targetID)
Returns a description for the breakpoint toggle target associated with the given ID or `null` if none.

Parameters:
  `targetID` - toggle breakpoints target identifier
Returns:
  toggle target name or `null` if none