org.eclipse.jdt.debug.ui.launchConfigurations

## Class JavaMainTab

- java.lang.Object
- - org.eclipse.debug.ui.AbstractLaunchConfigurationTab
  - - org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchTab
    - - org.eclipse.jdt.internal.debug.ui.launcher.AbstractJavaMainTab
      - - org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab
        - - org.eclipse.jdt.debug.ui.launchConfigurations.JavaMainTab

All Implemented Interfaces:
  ILaunchConfigurationTab, ILaunchConfigurationTab2

    public class JavaMainTab
    extends org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab

A launch configuration tab that displays and edits project and main type name launch configuration attributes.

This class may be instantiated.

Since:
  3.2
Restriction:
  This class is not intended to be subclassed by clients.

### Field Summary

Fields
`static String` `ATTR_CONSIDER_INHERITED_MAIN` Boolean launch configuration attribute indicating whether types inheriting a main method should be considered when searching for a main type.
`static String` `ATTR_INCLUDE_EXTERNAL_JARS` Boolean launch configuration attribute indicating that external jars (on the runtime classpath) should be searched when looking for a main type.

### Fields inherited from class org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab

`fMainText`

### Fields inherited from class org.eclipse.jdt.internal.debug.ui.launcher.AbstractJavaMainTab

`EMPTY_STRING, fProjText`

### Constructor Summary

Constructors
Constructor and Description
`JavaMainTab()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `createControl(Composite parent)`
`protected void` `createMainTypeExtensions(Composite parent)` This method allows the group for main type to be extended with custom controls.
`String` `getId()`
`Image` `getImage()`
`String` `getName()`
`protected void` `handleSearchButtonSelected()` Show a dialog that lists all main types
`void` `initializeFrom(ILaunchConfiguration config)`
`boolean` `isValid(ILaunchConfiguration config)`
`void` `performApply(ILaunchConfigurationWorkingCopy config)`
`void` `setDefaults(ILaunchConfigurationWorkingCopy config)`

### Methods inherited from class org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab

`createMainTypeEditor, initializeMainTypeAndName, updateMainTypeFromConfig`

### Methods inherited from class org.eclipse.jdt.internal.debug.ui.launcher.AbstractJavaMainTab

`createProjectEditor, getDefaultListener, getJavaProject, getWorkspaceRoot, handleProjectButtonSelected, mapResources`

### Methods inherited from class org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchTab

`getContext, getCurrentLaunchConfiguration, initializeJavaProject`

### Methods inherited from class org.eclipse.debug.ui.AbstractLaunchConfigurationTab

`activated, canSave, createCheckButton, createPushButton, createRadioButton, createSeparator, createUpdateJob, createVerticalSpacer, deactivated, dispose, getControl, getErrorMessage, getHelpContextId, getLaunchConfigurationDialog, getLaunchManager, getMessage, getShell, getUpdateJobDelay, getWarningMessage, isDirty, launched, scheduleUpdateJob, setAttribute, setControl, setDirty, setErrorMessage, setHelpContextId, setLaunchConfigurationDialog, setMessage, setWarningMessage, updateLaunchConfigurationDialog`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.debug.ui.ILaunchConfigurationTab

`OkToLeaveTab, postApply`

### Field Detail

#### ATTR_INCLUDE_EXTERNAL_JARS

    public static final String ATTR_INCLUDE_EXTERNAL_JARS

Boolean launch configuration attribute indicating that external jars (on the runtime classpath) should be searched when looking for a main type. Default value is `false`.

Since:
  2.1

#### ATTR_CONSIDER_INHERITED_MAIN

    public static final String ATTR_CONSIDER_INHERITED_MAIN

Boolean launch configuration attribute indicating whether types inheriting a main method should be considered when searching for a main type. Default value is `false`.

Since:
  3.0

### Constructor Detail

#### JavaMainTab

    public JavaMainTab()

### Method Detail

#### createControl

    public void createControl(Composite parent)

#### createMainTypeExtensions

    protected void createMainTypeExtensions(Composite parent)

Description copied from class: `org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab`
This method allows the group for main type to be extended with custom controls. All control added via this method come after the main type text editor and search button in the order they are added to the parent composite

Overrides:
  `createMainTypeExtensions` in class `org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab`
Parameters:
  `parent` - the parent to add to
See Also:
  `SharedJavaMainTab.createMainTypeExtensions(org.eclipse.swt.widgets.Composite)`

#### getImage

    public Image getImage()

Specified by:
  `getImage` in interface `ILaunchConfigurationTab`
Overrides:
  `getImage` in class `AbstractLaunchConfigurationTab`

#### getName

    public String getName()

#### getId

    public String getId()

Overrides:
  `getId` in class `AbstractLaunchConfigurationTab`
Since:
  3.3
See Also:
  `AbstractLaunchConfigurationTab.getId()`

#### handleSearchButtonSelected

    protected void handleSearchButtonSelected()

Show a dialog that lists all main types

Specified by:
  `handleSearchButtonSelected` in class `org.eclipse.jdt.internal.debug.ui.launcher.SharedJavaMainTab`

#### initializeFrom

    public void initializeFrom(ILaunchConfiguration config)

Specified by:
  `initializeFrom` in interface `ILaunchConfigurationTab`
Overrides:
  `initializeFrom` in class `org.eclipse.jdt.internal.debug.ui.launcher.AbstractJavaMainTab`

#### isValid

    public boolean isValid(ILaunchConfiguration config)

Specified by:
  `isValid` in interface `ILaunchConfigurationTab`
Overrides:
  `isValid` in class `AbstractLaunchConfigurationTab`

#### performApply

    public void performApply(ILaunchConfigurationWorkingCopy config)

#### setDefaults

    public void setDefaults(ILaunchConfigurationWorkingCopy config)