This service is used to manage DMS drives

_Package org.exoplatform.services.cms.drives.DriveData_;

|| *Method* || *Return* || *Prototype* || *Description* ||
| *{{addDrive}}* | {{void}} | {{addDrive(String name, String workspace, String permissions, String homePath, String views, String icon, boolean viewReferences, boolean viewNonDocument, boolean viewSideBar, boolean showHiddenNode, String repository, String allowCreateFolder, String allowNodeTypesOnTree)throws Exception}} | Register a new drive to workspace or update if the drive is existing {example}{example} @param name:  drive name {example}{example} @param workspace:  the workspace name where will store the drive {example}{example} @param permissions:  specify who can access to this drive {example}{example} @param homePath:  specify the location of drive {example}{example} @param views:  include all views can see in drive {example}{example} @param icon:  the drive icon which can see in drive browser {example}{example} @param viewReferences:  the boolean to set default for drive can view references node or not {example}{example} @param viewNonDocument: the boolean to set default for drive can view non document node or not {example}{example} @param viewSideBar: the boolean to set default for drive can view side bar or not {example}{example} @param showHiddenNode:  the boolean to set default for drive can see hidden node or not {example}{example} @param repository: the string contain repository name {example}{example} @param allowCreateFolder: the string to specify which type of folder can add in the drive {example}{example} @throws Exception |
| *{{getDriveByName}}* | {{DriveData}} | {{getDriveByName(String driveName, String repository) throws Exception}} | Return an DriveData Object {example}{example} @param driveName:  the string contain the drive name {example}{example} @param repository  the repository name {example}{example} @see DriveData {example}{example} @return  DriveData: with specified drive name and repository {example}{example} @throws Exception |
| *{{getAllDriveByPermission}}* | {{List<DriveData>}} | {{getAllDriveByPermission(String permission, String repository) throws Exception}} | Return the list of DriveData {example}{example} This method will look up in all workspaces of repository to find DriveData with specified permission {example}{example} @param permission:  the string contain the permission {example}{example} @param repository: name of repository {example}{example} @return  list of DriveData with specified repository and permission {example}{example} @see DriveData {example}{example} @throws Exception |
| *{{removeDrive}}* | {{void}} | {{removeDrive(String driveName, String repository) throws Exception}} | Remove drive with specified drive name and repository {example}{example} @param driveName:  drive name {example}{example} @param repository: repository name {example}{example} @throws Exception |
| *{{getAllDrives}}* | {{List<DriveData>}} | {{getAllDrives(String repository) throws Exception}} | This method will look up in all workspaces of repository to find DriveData {example}{example} @param repository: repository name {example}{example} @return list of DriveData with specified repository {example}{example} @throws Exception |
| *{{isUsedView}}* | {{boolean}} | {{isUsedView(String viewName, String repository) throws Exception}} | This method will check to make sure the view is not in used before remove this view {example}{example} @param viewName: view name {example}{example} @param repository: repository name {example}{example} @return the status of current view is in used or not {example}{example} @throws Exception |
| *{{init}}* | {{void}} | {{init(String repository) throws Exception}} | Register all drive plugins to repository {example}{example} @param repository: the string contain repository name {example}{example} @throws Exception |
| *{{getDriveByUserRoles}}* | {{List<DriveData>}} | {{getDriveByUserRoles(String repository, String userId, List<String> roles) throws Exception}} | Get all drives by user roles {example}{example} @param repository: Repository name {example}{example} @param userId: User name {example}{example} @param roles: Roles of user {example}{example} @return List<DriveData> {example}{example} @throws Exception |
| *{{getMainDrives}}* | {{List<DriveData>}} | {{getMainDrives(String repository, String userId, List<String> userRoles) throws Exception}} | Get all main drives {example}{example} @param repository Repository name {example}{example} @param userId Name of user {example}{example} @param userRoles: Roles of user {example}{example} @return List<DriveData> {example}{example} @throws Exception |
| *{{getPersonalDrives}}* | {{List<DriveData>}} | {{getPersonalDrives(String repository, String userId, List<String> userRoles) throws Exception}} | Get all personal drives {example}{example} @param repository: Repository name {example}{example} @param userId: Name of user {example}{example} @param userRoles: Roles of user {example}{example} @return List<DriveData> {example}{example} @throws Exception |
| *{{getGroupDrives}}* | {{List<DriveData>}} | {{getGroupDrives(String repository, String userId, List<String> userRoles, List<String> groups) throws Exception}} | Get all group drives {example}{example} @param repository: Repository name {example}{example} @param userId: Name of user {example}{example} @param userRoles: Roles of user {example}{example} @param groups: Groups of user {example}{example} @return List<DriveData> {example}{example} @throws Exception |

