org.eclipse.wst.jsdt.ui.wizards

## Class BuildPathDialogAccess

- java.lang.Object
- - org.eclipse.wst.jsdt.ui.wizards.BuildPathDialogAccess

    public final class BuildPathDialogAccess
    extends java.lang.Object

Class that gives access to dialogs used by the JavaScript build path page to configure classpath entries and properties of classpath entries. Static methods are provided to show dialogs for:

- configuration of source attachments
- configuration of Javadoc locations
- configuration and selection of classpath variable entries
- configuration and selection of classpath container entries
- configuration and selection of JAR and external JAR entries
- selection of class and source folders

This class is not intended to be instantiated or subclassed by clients.

Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Method Summary

All Methods Static Methods Concrete Methods
`static IPath[]` `chooseClassFolderEntries(Shell shell, IPath initialSelection, IPath[] usedEntries)` Shows the UI to select new class folders.
`static IIncludePathEntry[]` `chooseContainerEntries(Shell shell, IJavaScriptProject project, IIncludePathEntry[] currentClasspath)` Shows the UI to choose new classpath container classpath entries.
`static IPath[]` `chooseExternalJAREntries(Shell shell)` Shows the UI to select new external JAR or ZIP archive entries.
`static IPath[]` `chooseJAREntries(Shell shell, IPath initialSelection, IPath[] usedEntries)` Shows the UI to select new JAR or ZIP archive entries located in the workspace.
`static IPath[]` `chooseSourceFolderEntries(Shell shell, IPath initialSelection, IPath[] usedEntries)` Shows the UI to select new source folders.
`static LibrarySuperType` `chooseSuperType(Shell shell, org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.CPListElement[] cpEntries, LibrarySuperType initialSelection, IJavaScriptProject project)`
`static IIncludePathEntry` `configureContainerEntry(Shell shell, IIncludePathEntry initialEntry, IJavaScriptProject project, IIncludePathEntry[] currentClasspath)` Shows the UI to configure a classpath container classpath entry.
`static IPath` `configureExternalJAREntry(Shell shell, IPath initialEntry)` Shows the UI to configure an external JAR or ZIP archive.
`static IPath` `configureJAREntry(Shell shell, IPath initialEntry, IPath[] usedEntries)` Shows the UI to configure a JAR or ZIP archive located in the workspace.
`static IIncludePathEntry` `configureJavadocLocation(Shell shell, IIncludePathEntry initialEntry)` Shows the UI for configuring a javadoc location attribute of the classpath entry.
`static java.net.URL[]` `configureJavadocLocation(Shell shell, java.lang.String libraryName, java.net.URL initialURL)` Shows the UI for configuring a javadoc location.
`static IIncludePathEntry` `configureSourceAttachment(Shell shell, IIncludePathEntry initialEntry)` Shows the UI for configuring source attachments.

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

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

### Method Detail

#### configureSourceAttachment

    public static IIncludePathEntry configureSourceAttachment(Shell shell,
                                                              IIncludePathEntry initialEntry)

Shows the UI for configuring source attachments. `null` is returned if the user cancels the dialog. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog
  `initialEntry` - The entry to edit. The kind of the classpath entry must be either `IIncludePathEntry.CPE_LIBRARY` or `IIncludePathEntry.CPE_VARIABLE`.
Returns:
  Returns the resulting classpath entry containing a potentially modified source attachment path and source attachment root. The resulting entry can be used to replace the original entry on the classpath. Note that the dialog does not make any changes on the passed entry nor on the classpath that contains it.

#### configureJavadocLocation

    public static java.net.URL[] configureJavadocLocation(Shell shell,
                                                          java.lang.String libraryName,
                                                          java.net.URL initialURL)

Shows the UI for configuring a javadoc location. `null` is returned if the user cancels the dialog. If OK is pressed, an array of length 1 containing the configured URL is returned. Note that the configured URL can be `null` when the user wishes to have no URL location specified. The dialog does not apply any changes. Use `JavaScriptUI` to access and configure Javadoc locations.

Parameters:
  `shell` - The parent shell for the dialog.
  `libraryName` - Name of of the library to which configured javadoc location belongs.
  `initialURL` - The initial URL or `null`.
Returns:
  Returns an array of size 1 that contains the resulting javadoc location or `null` if the dialog has been canceled. Note that the configured URL can be `null` when the user wishes to have no URL location specified.

#### configureJavadocLocation

    public static IIncludePathEntry configureJavadocLocation(Shell shell,
                                                             IIncludePathEntry initialEntry)

Shows the UI for configuring a javadoc location attribute of the classpath entry. `null` is returned if the user cancels the dialog. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialEntry` - The entry to edit. The kind of the classpath entry must be either `IIncludePathEntry.CPE_LIBRARY` or `IIncludePathEntry.CPE_VARIABLE`.
Returns:
  Returns the resulting classpath entry containing a potentially modified javadoc location attribute The resulting entry can be used to replace the original entry on the classpath. Note that the dialog does not make any changes on the passed entry nor on the classpath that contains it.

#### configureContainerEntry

    public static IIncludePathEntry configureContainerEntry(Shell shell,
                                                            IIncludePathEntry initialEntry,
                                                            IJavaScriptProject project,
                                                            IIncludePathEntry[] currentClasspath)

Shows the UI to configure a classpath container classpath entry. See `IIncludePathEntry.CPE_CONTAINER` for details about container classpath entries. The dialog returns the configured classpath entry or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialEntry` - The initial classpath container entry.
  `project` - The project the entry belongs to. The project does not have to exist and can also be `null`.
  `currentClasspath` - The class path entries currently selected to be set as the projects classpath. This can also include the entry to be edited. The dialog uses these entries as information only (e.g. to avoid duplicate entries); The user still can make changes after the the classpath container dialog has been closed. See `IJsGlobalScopeContainerPageExtension` for more information.
Returns:
  Returns the configured classpath container entry or `null` if the dialog has been canceled by the user.

#### chooseContainerEntries

    public static IIncludePathEntry[] chooseContainerEntries(Shell shell,
                                                             IJavaScriptProject project,
                                                             IIncludePathEntry[] currentClasspath)

Shows the UI to choose new classpath container classpath entries. See `IIncludePathEntry.CPE_CONTAINER` for details about container classpath entries. The dialog returns the selected classpath entries or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `project` - The project the entry belongs to. The project does not have to exist and can also be `null`.
  `currentClasspath` - The class path entries currently selected to be set as the projects classpath. This can also include the entry to be edited. The dialog uses these entries as information only; The user still can make changes after the the classpath container dialog has been closed. See `IJsGlobalScopeContainerPageExtension` for more information.
Returns:
  Returns the selected classpath container entries or `null` if the dialog has been canceled by the user.

#### configureJAREntry

    public static IPath configureJAREntry(Shell shell,
                                          IPath initialEntry,
                                          IPath[] usedEntries)

Shows the UI to configure a JAR or ZIP archive located in the workspace. The dialog returns the configured classpath entry path or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialEntry` - The path of the initial archive entry
  `usedEntries` - An array of paths that are already on the classpath and therefore should not be selected again.
Returns:
  Returns the configured classpath container entry path or `null` if the dialog has been canceled by the user.

#### chooseJAREntries

    public static IPath[] chooseJAREntries(Shell shell,
                                           IPath initialSelection,
                                           IPath[] usedEntries)

Shows the UI to select new JAR or ZIP archive entries located in the workspace. The dialog returns the selected entries or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialSelection` - The path of the element (container or archive) to initially select or `null` to not select an entry.
  `usedEntries` - An array of paths that are already on the classpath and therefore should not be selected again.
Returns:
  Returns the new classpath container entry paths or `null` if the dialog has been canceled by the user.

#### chooseSuperType

    public static LibrarySuperType chooseSuperType(Shell shell,
                                                   org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.CPListElement[] cpEntries,
                                                   LibrarySuperType initialSelection,
                                                   IJavaScriptProject project)

#### configureExternalJAREntry

    public static IPath configureExternalJAREntry(Shell shell,
                                                  IPath initialEntry)

Shows the UI to configure an external JAR or ZIP archive. The dialog returns the configured or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialEntry` - The path of the initial archive entry.
Returns:
  Returns the configured classpath container entry path or `null` if the dialog has been canceled by the user.

#### chooseExternalJAREntries

    public static IPath[] chooseExternalJAREntries(Shell shell)

Shows the UI to select new external JAR or ZIP archive entries. The dialog returns the selected entry paths or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
Returns:
  Returns the new classpath container entry paths or `null` if the dialog has been canceled by the user.

#### chooseClassFolderEntries

    public static IPath[] chooseClassFolderEntries(Shell shell,
                                                   IPath initialSelection,
                                                   IPath[] usedEntries)

Shows the UI to select new class folders. The dialog returns the selected classpath entry paths or `null` if the dialog has been canceled. The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialSelection` - The path of the element to initially select or `null`.
  `usedEntries` - An array of paths that are already on the classpath and therefore should not be selected again.
Returns:
  Returns the configured classpath container entry path or `null` if the dialog has been canceled by the user.

#### chooseSourceFolderEntries

    public static IPath[] chooseSourceFolderEntries(Shell shell,
                                                    IPath initialSelection,
                                                    IPath[] usedEntries)

Shows the UI to select new source folders. The dialog returns the selected classpath entry paths or `null` if the dialog has been canceled The dialog does not apply any changes.

Parameters:
  `shell` - The parent shell for the dialog.
  `initialSelection` - The path of the element to initially select or `null`
  `usedEntries` - An array of paths that are already on the classpath and therefore should not be selected again.
Returns:
  Returns the configured classpath container entry path or `null` if the dialog has been canceled by the user.