Package: org.grails.cli.profile

## [Groovy] Interface ProfileRepository

- A repository of Profile instances

  Authors:
    Graeme Rocher
  Since:
    3.0

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `java.lang.String` | `DEFAULT_PROFILE_NAME`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `java.util.List<Profile>` | `getAllProfiles()` @return All the available profiles in the repository
    `` | `Profile` | `getProfile(java.lang.String profileName)` Obtains a named Profile
    `` | `Profile` | `getProfile(java.lang.String profileName, java.lang.Boolean parentProfile)` Obtains a named Profile
    `` | `java.util.List<Profile>` | `getProfileAndDependencies(Profile profile)` Returns the given profile with all dependencies in topological order where given profile is last in the order.
    `` | `org.eclipse.aether.artifact.Artifact` | `getProfileArtifact(java.lang.String profileName)` @return The org.eclipse.aether.artifact.Artifact that resolves to the profile
    `` | `Resource` | `getProfileDirectory(java.lang.String profile)` The directory where the profile is located

- - ### Property Detail

    - #### java.lang.String DEFAULT_PROFILE_NAME

  - ### Method Detail

    - #### java.util.List<Profile> getAllProfiles()

      Returns:
        All the available profiles in the repository

    - #### Profile getProfile(java.lang.String profileName)

      Obtains a named Profile

      Parameters:
        `profileName` - The name of the profile
      Returns:
        The Profile or null

    - #### Profile getProfile(java.lang.String profileName, java.lang.Boolean parentProfile)

      Obtains a named Profile

      Parameters:
        `profileName` - The name of the profile
        `parentProfile` - Whether or not the profile is a parent of another profile
      Returns:
        The Profile or null

    - #### java.util.List<Profile> getProfileAndDependencies(Profile profile)

      Returns the given profile with all dependencies in topological order where given profile is last in the order.

      Parameters:
        `profile` - The Profile instance
      Returns:
        The Profile and its dependencies

    - #### org.eclipse.aether.artifact.Artifact getProfileArtifact(java.lang.String profileName)

      Returns:
        The org.eclipse.aether.artifact.Artifact that resolves to the profile

    - #### Resource getProfileDirectory(java.lang.String profile)

      The directory where the profile is located

      Parameters:
        `profile` - The name of the profile
      Returns:
        The directory where the profile is located or null if it doesn't exist