📄 i_cmsresourcebroker.java
字号:
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user is owner of the resource or is admin</li>
* <li>the resource is locked by the callingUser</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param filename The complete path to the resource.
* @param newGroup The name of the new group for this resource.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void chgrp(CmsUser currentUser, CmsProject currentProject,
String filename, String newGroup)
throws CmsException;
/**
* Changes the flags for this resource.<br>
*
* Only the flags of a resource in an offline project can be changed. The state
* of the resource is set to CHANGED (1).
* If the content of this resource is not exisiting in the offline project already,
* it is read from the online project and written into the offline project.
* The user may change the flags, if he is admin of the resource <br>.
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user can write the resource</li>
* <li>the resource is locked by the callingUser</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param filename The complete path to the resource.
* @param flags The new accessflags for the resource.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void chmod(CmsUser currentUser, CmsProject currentProject,
String filename, int flags)
throws CmsException;
/**
* Changes the owner for this resource.<br>
*
* Only the owner of a resource in an offline project can be changed. The state
* of the resource is set to CHANGED (1).
* If the content of this resource is not exisiting in the offline project already,
* it is read from the online project and written into the offline project.
* The user may change this, if he is admin of the resource. <br>
*
* <B>Security:</B>
* Access is cranted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user is owner of the resource or the user is admin</li>
* <li>the resource is locked by the callingUser</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param filename The complete path to the resource.
* @param newOwner The name of the new owner for this resource.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void chown(CmsUser currentUser, CmsProject currentProject,
String filename, String newOwner)
throws CmsException;
/**
* Changes the state for this resource<BR/>
*
* The user may change this, if he is admin of the resource.
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user is owner of the resource or is admin</li>
* <li>the resource is locked by the callingUser</li>
* </ul>
*
* @param filename The complete path to the resource.
* @param state The new state of this resource.
*
* @exception CmsException will be thrown, if the user has not the rights
* for this resource.
*/
public void chstate(CmsUser currentUser, CmsProject currentProject,
String filename, int state)
throws CmsException;
/**
* Changes the resourcetype for this resource<br>
*
* Only the resourcetype of a resource in an offline project can be changed. The state
* of the resource is set to CHANGED (1).
* If the content of this resource is not exisiting in the offline project already,
* it is read from the online project and written into the offline project.
* The user may change this, if he is admin of the resource. <br>
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user is owner of the resource or is admin</li>
* <li>the resource is locked by the callingUser</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param filename The complete path to the resource.
* @param newType The name of the new resourcetype for this resource.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void chtype(CmsUser currentUser, CmsProject currentProject,
String filename, String newType)
throws CmsException;
/**
* Clears all internal DB-Caches.
*/
public void clearcache();
/**
* Copies a file in the Cms. <br>
*
* <B>Security:</B>
* Access is cranted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user can read the sourceresource</li>
* <li>the user can create the destinationresource</li>
* <li>the destinationresource dosn't exists</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param source The complete path of the sourcefile.
* @param destination The complete path to the destination.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void copyFile(CmsUser currentUser, CmsProject currentProject,
String source, String destination)
throws CmsException;
/**
* Copies a folder in the Cms. <br>
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user can read the sourceresource</li>
* <li>the user can create the destinationresource</li>
* <li>the destinationresource dosn't exists</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param source The complete path of the sourcefolder.
* @param destination The complete path to the destination.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void copyFolder(CmsUser currentUser, CmsProject currentProject,
String source, String destination)
throws CmsException;
/**
* Copies a resource from the online project to a new, specified project.<br>
* Copying a resource will copy the file header or folder into the specified
* offline project and set its state to UNCHANGED.
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user is the owner of the project</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param resource The name of the resource.
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public void copyResourceToProject(CmsUser currentUser,
CmsProject currentProject,
String resource)
throws CmsException;
/**
* Counts the locked resources in this project.
*
* <B>Security</B>
* Only the admin or the owner of the project can do this.
*
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param id The id of the project
* @return the amount of locked resources in this project.
*
* @exception CmsException Throws CmsException if something goes wrong.
*/
public int countLockedResources(CmsUser currentUser, CmsProject currentProject, int id)
throws CmsException;
/**
* Creates a new file with the given content and resourcetype. <br>
*
* Files can only be created in an offline project, the state of the new file
* is set to NEW (2). <br>
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user can write the resource</li>
* <li>the folder-resource is not locked by another user</li>
* <li>the file dosn't exists</li>
* </ul>
*
* @param currentUser The user who owns this file.
* @param currentGroup The group who owns this file.
* @param currentProject The project in which the resource will be used.
* @param folder The complete path to the folder in which the new folder will
* be created.
* @param file The name of the new file (No pathinformation allowed).
* @param contents The contents of the new file.
* @param type The name of the resourcetype of the new file.
* @param propertyinfos A Hashtable of propertyinfos, that should be set for this folder.
* The keys for this Hashtable are the names for propertydefinitions, the values are
* the values for the propertyinfos.
* @return file The created file.
*
* @exception CmsException Throws CmsException if operation was not succesful.
*/
public CmsFile createFile(CmsUser currentUser, CmsGroup currentGroup,
CmsProject currentProject, String folder,
String filename, byte[] contents, String type,
Hashtable propertyinfos)
throws CmsException;
/**
* Creates a new folder.
*
* <B>Security:</B>
* Access is granted, if:
* <ul>
* <li>the user has access to the project</li>
* <li>the user can write the resource</li>
* <li>the resource is not locked by another user</li>
* </ul>
*
* @param currentUser The user who requested this method.
* @param currentGroup The group who requested this method.
* @param currentProject The current project of the user.
* @param folder The complete path to the folder in which the new folder will
* be created.
* @param newFolderName The name of the new folder (No pathinformation allowed).
* @param propertyinfos A Hashtable of propertyinfos, that should be set for this folder.
* The keys for this Hashtable are the names for propertydefinitions, the values are
* the values for the propertyinfos.
*
* @return file The created file.
*
* @exception CmsException will be thrown for missing propertyinfos, for worng propertydefs
* or if the filename is not valid. The CmsException will also be thrown, if the
* user has not the rights for this resource.
*/
public CmsFolder createFolder(CmsUser currentUser, CmsGroup currentGroup,
CmsProject currentProject,
String folder, String newFolderName,
Hashtable propertyinfos)
throws CmsException;
/**
* Creates a project.
*
* <B>Security</B>
* Only the users which are in the admin or projectleader-group are granted.
*
* Changed: added the parent id
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param name The name of the project to read.
* @param description The description for the new project.
* @param group the group to be set.
* @param managergroup the managergroup to be set.
* @param parentId the parent project
* @exception CmsException Throws CmsException if something goes wrong.
* @author Martin Langelund
*/
public CmsProject createProject(CmsUser currentUser, CmsProject currentProject, String name, String description, String groupname, String managergroupname) throws com.opencms.core.CmsException;
/**
* Creates a project.
*
* <B>Security</B>
* Only the users which are in the admin or projectleader-group are granted.
*
* Changed: added the project type
* @param currentUser The user who requested this method.
* @param currentProject The current project of the user.
* @param name The name of the project to read.
* @param description The description for the new project.
* @param group the group to be set.
* @param managergroup the managergroup to be set.
* @param projecttype the project type (normal or temporary)
* @exception CmsException Throws CmsException if something goes wrong.
* @author Edna Falkenhan
*/
public CmsProject createProject(CmsUser currentUser, CmsProject currentProject, String name, String description, String groupname, String managergroupname, int projecttype) throws com.opencms.core.CmsException;
/**
* Creates a new project for task handling.
*
* @param owner User who creates the project
* @param projectname Name of the project
* @param projectType Type of the Project
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -