org.eclipse.wst.jsdt.launching

## Class LibraryLocation

- java.lang.Object
- - org.eclipse.wst.jsdt.launching.LibraryLocation

    public final class LibraryLocation
    extends java.lang.Object

The location of a library (for example rt.jar).

Clients may instantiate this class; it is not intended to be subclassed.

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.

### Constructor Summary

Constructors
Constructor and Description
`LibraryLocation(IPath libraryPath, IPath sourcePath, IPath packageRoot)` Creates a new library location.
`LibraryLocation(IPath libraryPath, IPath sourcePath, IPath packageRoot, java.net.URL javadocLocation)` Creates a new library location.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected boolean` `equals(IPath path1, IPath path2)` Returns whether the given paths are equal - either may be `null`.
`boolean` `equals(java.lang.Object obj)`
`java.net.URL` `getJavadocLocation()` Returns the jsdoc location associated with this Library location.
`IPath` `getPackageRootPath()` Returns the path to the default package in the sources zip file
`IPath` `getSystemLibraryPath()` Returns the JRE library jar location.
`IPath` `getSystemLibrarySourcePath()` Returns the JRE library source zip location.
`int` `hashCode()`

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

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

### Constructor Detail

#### LibraryLocation

    public LibraryLocation(IPath libraryPath,
                           IPath sourcePath,
                           IPath packageRoot)

Creates a new library location.

Parameters:
  `libraryPath` - The location of the JAR containing java.lang.Object Must not be `null`.
  `sourcePath` - The location of the zip file containing the sources for `library` Must not be `null` (Use Path.EMPTY instead)
  `packageRoot` - The path inside the `source` zip file where packages names begin. If the source for java.lang.Object source is found at "src/java/lang/Object.java" in the zip file, the packageRoot should be "src" Must not be `null`. (Use Path.EMPTY or IPath.ROOT)
Throws:
  `java.lang.IllegalArgumentException` - If the library path is `null`.

#### LibraryLocation

    public LibraryLocation(IPath libraryPath,
                           IPath sourcePath,
                           IPath packageRoot,
                           java.net.URL javadocLocation)

Creates a new library location.

Parameters:
  `libraryPath` - The location of the JAR containing java.lang.Object Must not be `null`.
  `sourcePath` - The location of the zip file containing the sources for `library` Must not be `null` (Use Path.EMPTY instead)
  `packageRoot` - The path inside the `source` zip file where packages names begin. If the source for java.lang.Object source is found at "src/java/lang/Object.java" in the zip file, the packageRoot should be "src" Must not be `null`. (Use Path.EMPTY or IPath.ROOT)
  `javadocLocation` - The location of the jsdoc for `library`
Throws:
  `java.lang.IllegalArgumentException` - If the library path is `null`.

### Method Detail

#### getSystemLibraryPath

    public IPath getSystemLibraryPath()

Returns the JRE library jar location.

Returns:
  The JRE library jar location.

#### getSystemLibrarySourcePath

    public IPath getSystemLibrarySourcePath()

Returns the JRE library source zip location.

Returns:
  The JRE library source zip location.

#### getPackageRootPath

    public IPath getPackageRootPath()

Returns the path to the default package in the sources zip file

Returns:
  The path to the default package in the sources zip file.

#### equals

    public boolean equals(java.lang.Object obj)

Overrides:
  `equals` in class `java.lang.Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### equals

    protected boolean equals(IPath path1,
                             IPath path2)

Returns whether the given paths are equal - either may be `null`.

Parameters:
  `path1` - path to be compared
  `path2` - path to be compared
Returns:
  whether the given paths are equal

#### getJavadocLocation

    public java.net.URL getJavadocLocation()

Returns the jsdoc location associated with this Library location.

Returns:
  a url pointing to the jsdoc location associated with this Library location, or `null` if none