Package org.eclipse.jdt.launching

## Class LibraryLocation

- java.lang.Object
- - org.eclipse.jdt.launching.LibraryLocation

    public final class LibraryLocation
    extends Object

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

Clients may instantiate this class.

### Constructor Summary

Constructors
`LibraryLocation​(IPath libraryPath, IPath sourcePath, IPath packageRoot)` Creates a new library location.
`LibraryLocation​(IPath libraryPath, IPath sourcePath, IPath packageRoot, URL javadocLocation)` Creates a new library location.
`LibraryLocation​(IPath libraryPath, IPath sourcePath, IPath packageRoot, URL javadocLocation, URL indexLocation)` Creates a new library location.
`LibraryLocation​(IPath libraryPath, IPath sourcePath, IPath packageRoot, URL javadocLocation, URL indexLocation, IPath externalAnnotations)` Creates a new library location.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `equals​(Object obj)`
`protected boolean` `equals​(IPath path1, IPath path2)` Returns whether the given paths are equal - either may be `null`.
`IPath` `getExternalAnnotationsPath()` Return the JRE library external annotations location.
`URL` `getIndexLocation()` Returns the index location associated with this library location.
`URL` `getJavadocLocation()` Returns the Javadoc 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()`
`void` `setIndexLocation​(URL indexLoc)` Sets the index location to the given `URL`.
`void` `setSystemLibrarySource​(IPath source)` Sets the JRE library source zip location.

### 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:
  `IllegalArgumentException` - If the library path is `null`.

#### LibraryLocation

    public LibraryLocation​(IPath libraryPath,
                           IPath sourcePath,
                           IPath packageRoot,
                           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 javadoc for `library`
Throws:
  `IllegalArgumentException` - If the library path is `null`.
Since:
  3.1

#### LibraryLocation

    public LibraryLocation​(IPath libraryPath,
                           IPath sourcePath,
                           IPath packageRoot,
                           URL javadocLocation,
                           URL indexLocation)

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 javadoc for `library`
  `indexLocation` - The location of the index for `library`
Throws:
  `IllegalArgumentException` - If the library path is `null`.
Since:
  3.7

#### LibraryLocation

    public LibraryLocation​(IPath libraryPath,
                           IPath sourcePath,
                           IPath packageRoot,
                           URL javadocLocation,
                           URL indexLocation,
                           IPath externalAnnotations)

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 javadoc for `library`
  `indexLocation` - The location of the index for `library`
  `externalAnnotations` - The file or directory containing external annotations, or `null` if not applicable.
Throws:
  `IllegalArgumentException` - If the library path is `null`.
Since:
  3.8

### 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.

#### getExternalAnnotationsPath

    public IPath getExternalAnnotationsPath()

Return the JRE library external annotations location.

Returns:
  The file or directory holding external annotations, or Path.EMPTY if not applicable. This will never be null.
Since:
  3.8

#### 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.

#### getJavadocLocation

    public URL getJavadocLocation()

Returns the Javadoc location associated with this Library location.

Returns:
  a `URL` pointing to the Javadoc location associated with this Library location, or `null` if none
Since:
  3.1

#### getIndexLocation

    public URL getIndexLocation()

Returns the index location associated with this library location.

Returns:
  a `URL` pointing to the index location associated with this Library location, or `null` if none
Since:
  3.7

#### equals

    public boolean equals​(Object obj)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `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

#### setSystemLibrarySource

    public void setSystemLibrarySource​(IPath source)

Sets the JRE library source zip location.

Parameters:
  `source` - the source to set
Since:
  3.4

#### setIndexLocation

    public void setIndexLocation​(URL indexLoc)

Sets the index location to the given `URL`.

Parameters:
  `indexLoc` -
Since:
  3.7