Package org.eclipse.debug.ui

# Interface IDetailPaneFactory

public interface IDetailPaneFactory
A detail pane factory creates one or more types of detail panes.

Detail pane factories are contributed via the `org.eclipse.debug.ui.detailPaneFactories` extension point. Following is an example of a detail pane factory extension:

     <extension point="org.eclipse.debug.ui.detailPaneFactories">
         <detailFactories
               class="org.eclipse.temp.TableDetailPaneFactory"
               name="Table Detail Factory">
         </detailFactories>
     </extension>

Clients contributing a detail pane factory are intended to implement this interface.

Since:
  3.3
See Also:
  - `IDetailPane`

## Method Summary

Modifier and Type
Method
Description
`IDetailPane`
`createDetailPane(String paneID)`
Creates and returns a detail pane corresponding to the given detail pane type identifier that this factory can produce (according to `getDetailPaneTypes(IStructuredSelection selection)`).
`String`
`getDefaultDetailPane(IStructuredSelection selection)`
Returns the identifier of the default detail pane type to use for the given selection, or `null` if this factory has no preference.
`String`
`getDetailPaneDescription(String paneID)`
Returns a description for the detail pane type associated with the given ID or `null` if none.
`String`
`getDetailPaneName(String paneID)`
Returns a name for the detail pane type associated with the given ID or `null` if none.
`Set<String>`
`getDetailPaneTypes(IStructuredSelection selection)`
Returns all possible types detail panes that this factory can create for the given selection, possibly empty.

## Method Details

### getDetailPaneTypes

Set<String> getDetailPaneTypes(IStructuredSelection selection)
Returns all possible types detail panes that this factory can create for the given selection, possibly empty. Detail panes are returned as a set of detail pane identifiers.

Parameters:
  `selection` - The current selection
Returns:
  Set of String IDs for possible detail pane types, possibly empty

### getDefaultDetailPane

String getDefaultDetailPane(IStructuredSelection selection)
Returns the identifier of the default detail pane type to use for the given selection, or `null` if this factory has no preference. A factory can override the platform's default detail pane by returning a non-`null` value.

Parameters:
  `selection` - The current selection
Returns:
  a detail pane type identifier or `null`

### createDetailPane

IDetailPane createDetailPane(String paneID)
Creates and returns a detail pane corresponding to the given detail pane type identifier that this factory can produce (according to `getDetailPaneTypes(IStructuredSelection selection)`).

Parameters:
  `paneID` - The id of the detain pane type to be created
Returns:
  detail pane or `null` if one could not be created

### getDetailPaneName

String getDetailPaneName(String paneID)
Returns a name for the detail pane type associated with the given ID or `null` if none. Used to populate the context menu with meaningful names of the pane types.

Parameters:
  `paneID` - detail pane type identifier
Returns:
  detail pane name or `null` if none

### getDetailPaneDescription

String getDetailPaneDescription(String paneID)
Returns a description for the detail pane type associated with the given ID or `null` if none.

Parameters:
  `paneID` - detail pane type identifier
Returns:
  detail pane description or `null` if none