Package: org.grails.cli.profile

## [Groovy] Interface ProfileRepository

-     interface ProfileRepository

  A repository of Profile instances

  Authors:
    Graeme Rocher
  Since:
    3.0

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `static java.lang.String` | `DEFAULT_PROFILE_NAME` |

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `abstract java.util.List<Profile>` | `getAllProfiles()` Returns: All the available profiles in the repository
    `` | `abstract Profile` | `getProfile(java.lang.String profileName)` Obtains a named Profile
    `` | `abstract Profile` | `getProfile(java.lang.String profileName, java.lang.Boolean parentProfile)` Obtains a named Profile
    `` | `abstract 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.
    `` | `abstract org.eclipse.aether.artifact.Artifact` | `getProfileArtifact(java.lang.String profileName)` Returns: The org.eclipse.aether.artifact.Artifact that resolves to the profile
    `` | `abstract Resource` | `getProfileDirectory(java.lang.String profile)` The directory where the profile is located

- - ### Field Detail

    - #### public static final java.lang.String DEFAULT_PROFILE_NAME

  - ### Method Detail

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

      Returns:
        All the available profiles in the repository

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

      Obtains a named Profile

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

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

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

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

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

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