Package com.enonic.xp.project

## Interface ProjectService

-     @PublicApi
      public interface ProjectService

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Project` | `create​(CreateProjectParams params)` |
    `boolean` | `delete​(ProjectName projectName)` |
    `Project` | `get​(ProjectName projectName)` |
    `ApplicationKeys` | `getAvailableApplications​(ProjectName projectName)` |
    `ByteSource` | `getIcon​(ProjectName projectName)` |
    `ProjectPermissions` | `getPermissions​(ProjectName projectName)` |
    `ProjectGraph` | `graph​(ProjectName projectName)` |
    `Projects` | `list()` |
    `Project` | `modify​(ModifyProjectParams params)` |
    `void` | `modifyIcon​(ModifyProjectIconParams params)` |
    `ProjectPermissions` | `modifyPermissions​(ProjectName projectName, ProjectPermissions projectPermissions)` |

- - ### Method Detail

    - #### create

          Project create​(CreateProjectParams params)

    - #### modify

          Project modify​(ModifyProjectParams params)

    - #### modifyIcon

          void modifyIcon​(ModifyProjectIconParams params)

    - #### getIcon

          ByteSource getIcon​(ProjectName projectName)

    - #### getAvailableApplications

          ApplicationKeys getAvailableApplications​(ProjectName projectName)

    - #### list

          Projects list()

    - #### graph

          ProjectGraph graph​(ProjectName projectName)

    - #### get

          Project get​(ProjectName projectName)

    - #### delete

          boolean delete​(ProjectName projectName)

    - #### modifyPermissions

          ProjectPermissions modifyPermissions​(ProjectName projectName,
                                               ProjectPermissions projectPermissions)

    - #### getPermissions

          ProjectPermissions getPermissions​(ProjectName projectName)