# Interface IsolatedProject

@Incubating public interface IsolatedProject
An isolated view of `Project` that exposes only those properties that are safe to access from outside of `this` project, from the perspective of isolated projects.

Since:
  8.8

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  `String`
  `getBuildTreePath()`
  Returns a path to the project for the full build tree.
  `String`
  `getName()`
  Returns the name of this project.
  `String`
  `getPath()`
  Returns the path of this project.
  `Directory`
  `getProjectDirectory()`
  The directory containing the project build file.
  `IsolatedProject`
  `getRootProject()`
  Returns the root project for the hierarchy that this project belongs to.
  `int`
  `hashCode()`

- ## Method Details

  - ### getName

    String getName()

    Returns the name of this project. The project's name is not necessarily unique within a project hierarchy. You should use the `getPath()` method for a unique identifier for the project. If the root project is unnamed and is located on a file system root it will have a randomly-generated name

    Returns:
      The name of this project. Never return null.
    Since:
      8.8

  - ### getPath

    String getPath()

    Returns the path of this project. The path is the fully qualified name of the project.

    Returns:
      The path. Never returns null.
    Since:
      8.8

  - ### getBuildTreePath

    @Incubating String getBuildTreePath()
    Returns a path to the project for the full build tree.
    Returns:
      The build tree path
    Since:
      8.9

  - ### getProjectDirectory

    Directory getProjectDirectory()

    The directory containing the project build file.

    Returns:
      The project directory. Never returns null.
    Since:
      8.8

  - ### getRootProject

    IsolatedProject getRootProject()

    Returns the root project for the hierarchy that this project belongs to. In the case of a single-project build, this method returns this project.

    Returns:
      The root project. Never returns null.
    Since:
      8.8

  - ### hashCode

    int hashCode()
    Overrides:
      `hashCode` in class `Object`

  - ### equals

    boolean equals(Object obj)
    Overrides:
      `equals` in class `Object`