Profile (Grails 3.0.10.BUILD-SNAPSHOT)
Date: 2015-12-03

Package: org.grails.cli.profile

## [Java] Interface Profile

- A Profile defines an active code generation and command execution policy. For example the "web" profile allows the execution of code gen and build commands that relate to web applications

  Authors:
    Graeme Rocher
    Lari Hotari

- - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `java.lang.Iterable<Command>` | `getCommands(ProjectContext context)` The profile Command instances
    `java.lang.Iterable<jline.console.completer.Completer>` | `getCompleters(ProjectContext context)` The profile completers
    `NavigableMap` | `getConfiguration()` @return The profiles configuration
    `java.lang.Iterable<Profile>` | `getExtends()` The other Profile instances that this Profile extends
    `java.lang.String` | `getName()` @return The name of the profile
    `java.io.File` | `getProfileDir()` @return The directory where the profile is located locally
    `boolean` | `handleCommand(ExecutionContext context)` Obtains a Command
    `boolean` | `hasCommand(ProjectContext context, java.lang.String name)` Whether a command executes for the given context and name

- - ### Method Detail

    - #### public java.lang.Iterable<Command> getCommands(ProjectContext context)

      The profile Command instances

      Parameters:
        `context` - The ProjectContext instance
      Returns:
        An java.lang.Iterable of Command instances

    - #### public java.lang.Iterable<jline.console.completer.Completer> getCompleters(ProjectContext context)

      The profile completers

      Parameters:
        `context` - The ProjectContext instance
      Returns:
        An java.lang.Iterable of jline.console.completer.Completer instances

    - #### public NavigableMap getConfiguration()

      Returns:
        The profiles configuration

    - #### public java.lang.Iterable<Profile> getExtends()

      The other Profile instances that this Profile extends

      Returns:
        zero or many Profile instance that this profile extends from

    - #### public java.lang.String getName()

      Returns:
        The name of the profile

    - #### public java.io.File getProfileDir()

      Returns:
        The directory where the profile is located locally

    - #### public boolean handleCommand(ExecutionContext context)

      Obtains a Command

      Returns:
        True if the command was handled

    - #### public boolean hasCommand(ProjectContext context, java.lang.String name)

      Whether a command executes for the given context and name

      Parameters:
        `context` - The ProjectContext
        `name` - The command name
      Returns:
        True if the command does exist